1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| Private Const SC_MAXIMIZE = &HF030
Private Const SC_MINIMIZE = &HF020
Private Const SC_MOVE = &HF010
Private Const SC_RESTORE = &HF120
Private Const SC_SIZE = &HF000
Private Const SC_CLOSE = &HF060
Private Const MF_BYCOMMAND = 0
Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function DeleteMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Private Const GWL_STYLE As Long = -16
Private Const WS_MAXIMIZEBOX = &H10000
Private Const WS_MINIMIZEBOX = &H20000
Private Const WS_SYSMENU = &H80000
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _
(ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _
(ByVal hwnd As Long, ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long
Private Sub MDIForm_Load()
Dim hMenu As Long
'-- Supprimer les boutons Minimize et Maximize de la MDIForm
SetWindowLong hwnd, GWL_STYLE, GetWindowLong(Me.hwnd, GWL_STYLE) Xor WS_MAXIMIZEBOX
SetWindowLong hwnd, GWL_STYLE, GetWindowLong(Me.hwnd, GWL_STYLE) Xor WS_MINIMIZEBOX
'-- Supprime les élément du menu système de la MDIForm
hMenu = GetSystemMenu(Me.hwnd, 0)
Call DeleteMenu(hMenu, SC_MAXIMIZE, MF_BYCOMMAND)
Call DeleteMenu(hMenu, SC_MINIMIZE, MF_BYCOMMAND)
Call DeleteMenu(hMenu, SC_SIZE, MF_BYCOMMAND)
Call DeleteMenu(hMenu, SC_RESTORE, MF_BYCOMMAND)
End Sub
Private Sub MDIForm_Resize()
'-- Fige les dimensions de la feuille
On Error Resume Next
Me.Width = 5000
Me.Height = 4000
End Sub |