salve vorrei che il mio form si aprisse in tutta la sua grandezza.avevo pensato di inserire in load form
me.maxbutton
mi dice che ci sono delle restrizioni per cui il comando nmon può essere eseguito
salve vorrei che il mio form si aprisse in tutta la sua grandezza.avevo pensato di inserire in load form
me.maxbutton
mi dice che ci sono delle restrizioni per cui il comando nmon può essere eseguito
Ciro Marotta - Programmatore JAVA - PHP
Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.
ma nn ti basta impostare lo windowstate a maximized?
La passera non dura perchè Sypher la cattura!
"No one like us we don't care, we are millwall, super millwall, we are millwall from the DEN"
si infatti bastava quello ma volevo sapere come utilizzare il comando.il mio problema ora è risolto ma si può usare il max button da codice?
inoltre non capisco perchè di una cosa. anche se imposto come proprietà width e height di un form child lui fa le cose a modo suo...da cosa può dipendere?
grazie per la priam risposta aspetto la seconda
![]()
Ciro Marotta - Programmatore JAVA - PHP
Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.
Se questo deve verificarsi ad ogni avvio non hai bisogno di scrivere codice: ti basta impostare WindowState a 2 dalla finestra proprietà in fase di design. Se invece devi farlo da codice puoi scriveresalve vorrei che il mio form si aprisse in tutta la sua grandezza
Me.WindowState = 2
nell'evento Load o Initialize del Form.
presumo tu intenda dire nascondere o visualizzare il MaxButton tramite codice... in tal caso No !ma si può usare il max button da codice?
Con il solo VB puro non puoi farlo. Questa proprietà, così come altre (MinButton, BorderStyle, ControlBox, Moveable, ShowInTaskBar,...), non possono essere settare a run-time dal codice.
Queste impostazioni sono quelle che vengono definite "stili" della finestra e possono essere manipolate attraverso l'API di Windows. Quello che devi fare è utilizzare le funzioni
API "GetWindowLong" e "SetWindowLong" con la costante GWL_STYLE... queste due funzioni hanno vari scopi: permettono di recuperare e modificare impostazioni delle finestra... con la costante GWL_STYLE consentono di recuperare e modificare impostazioni di stili delle finestre.
Eccoti un esempietto:
Option Explicit
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long _
, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByRef lParam As Any) As Long
Const WS_MINIMIZEBOX = &H20000
Const WS_MAXIMIZEBOX = &H10000
Const WM_NCPAINT As Long = &H85
Const GWL_STYLE = (-16)
'
Sub RemoveMinButton()
' Disabilita/nasconde il pulsante "Minimize" della Form
SetWindowLong hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) And Not (WS_MINIMIZEBOX)
SendMessage Me.hwnd, WM_NCPAINT, 0, 0
End Sub
'
Sub AddMinButton()
' Abilita/mostra il pulsante "Minimize" della Form
SetWindowLong hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) Or (WS_MINIMIZEBOX)
SendMessage Me.hwnd, WM_NCPAINT, 0, 0
End Sub
'
Sub RemoveMaxButton()
' Disabilita/nasconde il pulsante "Maximize" della Form
SetWindowLong hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) And Not (WS_MAXIMIZEBOX)
SendMessage Me.hwnd, WM_NCPAINT, 0, 0
End Sub
'
Sub AddMaxButton()
' Abilita/mostra il pulsante "Maximize" della Form
SetWindowLong hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) Or (WS_MAXIMIZEBOX)
SendMessage Me.hwnd, WM_NCPAINT, 0, 0
End Sub
noterai che le sub che ho scritto operano in questo modo:
recuperano lo stile con GetWindowLong,
eseguono AND NOT tra valore restituito e costante pulsante
(per eliminarlo)
oppure
eseguono OR tra valore restituito e costante pulsante
(per visualizzarlo)
infine eseguono SendMessage per inviare un mess. WM_NCPAINT allo stesso Form.
Questo è necessario perchè, quando si modificano impostazioni degli stili delle finestre, si rende necessario eseguirne un ridisegno (per rendere effettive le modifiche allo stile). Così basta causare un evento Paint del form...
Noterai inoltre che i due pulsanti (Max e Min) sono, in un certo sento, vincolati tra loro: diventano invisibili solo quando tutti e due sono disabilitati...
Questa è una caratteristica degli stili e non c'è possibilità di modificare questo comportamento.
Bene, ho terminato. Spero di averti dato le risposte che cercavi.
Ciao
Simo
grazie sei stao molto gentile e preciso![]()
Ciro Marotta - Programmatore JAVA - PHP
Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.