⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 如何能控制mdiform的最大化,最小化.txt

📁 VB技巧问答10000例 VB技巧问答10000例
💻 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 + -