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 SC_MAXIMIZE = &HF030 Private Const SC_MINIMIZE = &HF02F Private Const MF_BYCOMMAND = &H0 Private Const MF_BYCOMMAND1 = &H1 Private Const WS_MAXIMIZEBOX = &H10000 Private Const WS_MINIMIZEBOX = &H20000 Private Const GWL_EXSTYLE = (-20) Private Const GWL_STYLE = (-16) 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 Sub MDIForm_Load() Dim hMenu As Long, Success As Long Dim xl As Long MDIForm1.top = 0 MDIForm1.left = 0 MDIForm1.Height = Screen.Height MDIForm1.Width = Screen.Width hMenu = GetSystemMenu(hwnd, 0) Success = DeleteMenu(hMenu, SC_MAXIMIZE, MF_BYCOMMAND)
Private Declare Function DeleteMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Private Const SC_MAXIMIZE = &HF030
Private Const SC_MINIMIZE = &HF02F
Private Const MF_BYCOMMAND = &H0
Private Const MF_BYCOMMAND1 = &H1
Private Const WS_MAXIMIZEBOX = &H10000
Private Const WS_MINIMIZEBOX = &H20000
Private Const GWL_EXSTYLE = (-20)
Private Const GWL_STYLE = (-16)
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 Sub MDIForm_Load()
Dim hMenu As Long, Success As Long
Dim xl As Long
MDIForm1.top = 0
MDIForm1.left = 0
MDIForm1.Height = Screen.Height
MDIForm1.Width = Screen.Width
hMenu = GetSystemMenu(hwnd, 0)
Success = DeleteMenu(hMenu, SC_MAXIMIZE, MF_BYCOMMAND)
Me.Show
xl = GetWindowLong(hwnd, GWL_STYLE)
xl = xl And (Not WS_MAXIMIZEBOX)
SetWindowLong hwnd, GWL_STYLE, xl
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
hMenu = GetSystemMenu(hwnd, 0)
'Success = DeleteMenu(hMenu, SC_MINIMIZE, MF_BYCOMMAND1) ''''''''''''''''''''''''''''''''''??????????
Me.Show
xl = GetWindowLong(hwnd, GWL_STYLE)
xl = xl And (Not WS_MINIMIZEBOX)
SetWindowLong hwnd, GWL_STYLE, xl
'Call SetFormOnTop(MDIForm1.hwnd, True)
End Sub
可能无法从属性中更改,我也遇到过,用上述代码可实现的
没看到mdi试 三楼的