把下面这段代码加到你的MDI窗体里可以让它的最大化按钮不可用。
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 GWL_STYLE = (-16)
Private Const WS_MAXIMIZEBOX = &H10000Private Sub MDIForm_Load()
Dim lngStyle As Long
lngStyle = GetWindowLong(Me.hwnd, GWL_STYLE)
SetWindowLong Me.hwnd, GWL_STYLE, lngStyle Xor WS_MAXIMIZEBOX
End Sub
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 GWL_STYLE = (-16)
Private Const WS_MAXIMIZEBOX = &H10000Private Sub MDIForm_Load()
Dim lngStyle As Long
lngStyle = GetWindowLong(Me.hwnd, GWL_STYLE)
SetWindowLong Me.hwnd, GWL_STYLE, lngStyle Xor WS_MAXIMIZEBOX
End Sub
解决方案 »
- vb type mismatch 问题
- 跪求!!!!!!!!!大家帮帮我!!!!!!!!!!VB中连接ACCESS查询相同条件的下一条记录怎么写啊?
- 报表设计高手请进,这个报表如何设计
- 发布软件<<CSDN精华助手>>测试版,欢迎各位CSDN的Fans参加测试,谢谢~~,也请各位对网络编程感兴趣的朋友看看
- 请教写入txt文档的问题
- 请问那里有ADO的补丁下载?
- 关于用VB控制excel追加保存数据的问题
- SendKeys命令是什么东西,怎样用啊?急!
- 将MPEG格式的电影转成RM格式的软件哪里有下载,或者给兄弟我发一个过来?(100分,在线等待)
- VB打包程序中如何带入mdac_typ2.6
- 高手救救小弟(@_@)
- 啊木,文智兄,老妖,uguess,fraser01请进来~~~~~~~我快死了,帮忙做人工特别呼吸
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
Const WS_MINIMIZEBOX = &H20000
Const WS_MAXIMIZEBOX = &H10000
Const GWL_STYLE = (-16)
'======去掉系统菜单函数申明===========
Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Const MF_BYPOSITION = &H400&
Const MF_REMOVE = &H1000&Private Sub MDIForm_Load()
'=======去掉窗体最大、最小化按钮=======
Dim lWnd As Long
lWnd = GetWindowLong(Me.hwnd, GWL_STYLE)
lWnd = lWnd And Not (WS_MINIMIZEBOX)
lWnd = lWnd And Not (WS_MAXIMIZEBOX)
lWnd = SetWindowLong(Me.hwnd, GWL_STYLE, lWnd)
'===去掉系统菜单========
Dim hSysMenu As Long, nCnt As Long, i As Integer
hSysMenu = GetSystemMenu(Me.hwnd, False)
If hSysMenu Then
nCnt = GetMenuItemCount(hSysMenu)
For i = 1 To 6
If nCnt Then
RemoveMenu hSysMenu, nCnt - i - 1, MF_BYPOSITION Or MF_REMOVE
DrawMenuBar Me.hwnd
End If
Next i
End If
试一试这个,只剩下关闭按钮了。