?? 如何能控制mdiform的最大化,最小化.txt
字號:
你可以在Resize事件中知道窗口被最大化、最小化(參考QA001547 “當最小化一個窗體時,其他的窗體也隨著最小化”)。
你也可以使用下面的代碼禁止對MDI窗體最大化:
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 MF_BYCOMMAND = &H0&
Private Const WS_MAXIMIZEBOX = &H10000
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
hMenu = GetSystemMenu(hwnd, 0)
Success = DeleteMenu(hMenu, SC_MAXIMIZE, MF_BYCOMMAND)
Dim xl As Long
Me.Show
xl = GetWindowLong(hwnd, GWL_STYLE)
xl = xl And (Not WS_MAXIMIZEBOX)
SetWindowLong hwnd, GWL_STYLE, xl
End Sub
<END>
Private Sub MDIForm_Resize()
Select Case Me.WindowState
Case vbMaximized
If WindowState = 2 Then WindowState = 0'是最大化失效
Case vbMinimized
Case Else'限制窗體大小
If Me.Width <> 12000 Then Me.Width = 12000
Me.Height = 9000 - StatusBar1.Height
End Select
End Sub
<END>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -