动态屏蔽最大化按钮?
cqs76 2003-08-25 11:56:42 Option Explicit
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 Declare Function GetMenuString Lib "user32" Alias "GetMenuStringA" (ByVal hMenu As Long, ByVal wIDItem As Long, ByVal lpString As String, ByVal nMaxCount As Long, ByVal wFlag As Long) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private hMenu As Long
Private CloseStr As String
Const WM_NCLBUTTONDBLCLK = &HA3
Const WM_NCLBUTTONDOWN = &HA1
Const HTCAPTION = 2
Const MF_STRING = &H0&
Const MF_BYCOMMAND = &H0&
Const SC_CLOSE = &HF060
Const SC_MAXIMIZE = &HF030&
Private Sub Command2_Click()
hMenu = GetSystemMenu(form1.hwnd, 0)
CloseStr = String(255, 0)
GetMenuString hMenu, SC_MAXIMIZE, CloseStr, 256, MF_BYCOMMAND
CloseStr = Left(CloseStr, InStr(1, CloseStr, Chr(0)) - 1)
DeleteMenu hMenu, SC_MAXIMIZE, MF_BYCOMMAND
SendMessage hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&
End Sub
现在做下来屏蔽的是关闭按钮(成灰色),而不是最大化成灰色,我不知要在那儿改??