VISUAL # Eliminare i tre tastini da un form MDI
VB4/32, VB5, VB6 Il codice che segue e' utile per eliminare i tasti chiusura, ingrandimento, e riduzione ad icona (ossia la x, il - ed i due quadratini) da un form MDI dal momento che tra le proprieta' del form non e' elencata la controlbox presente invece per tutti gli altri tipi di form. Copiate il contenuto del Riquadro 1 in un modulo. Riquadro 1 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 Const WS_MAXIMIZEBOX = &H10000 Private Const WS_MINIMIZEBOX = &H20000 Private Const GWL_STYLE = (-16) Private Const WS_SYSMENU = &H80000 Con le due funzioni API che vedete e' possibile ottenere lo stile di una determinata finestra, modificarlo e quindi riassegnarlo alla finestra in questione. Nell' evento MDIForm_Load: Dim oldStyle As Long Dim newStyle As Long oldStyle = GetWindowLong(Me.hwnd, GWL_STYLE) newStyle = oldStyle Xor WS_MAXIMIZEBOX Xor WS_MINIMIZEBOX Xor WS_SYSMENU Call SetWindowLong(Me.hwnd, GWL_STYLE, newStyle) Se invece si scrive: newStyle = oldStyle Xor WS_SYSMENU si elimina lo stesso i tre tasti ma la finestra si massimizza e si ripristina facendo doppio click sulla barra del titolo. Fare attenzione perche' in questa maniera non e' piu' possibile chiudere la finestra se non da codice. |