VB中使窗体右上角的X按钮失效
编辑整理考试:为方便学习,下面给出了源代码,并做了详细的中文注释:
-
使表单右上角的X按钮无效。
-
程序描述:
这个例子使用API函数GetSystemMenu来获取系统菜单的句柄。
x按钮是系统菜单中的菜单项,然后使用RemoveMenu功能。
删除此菜单项,即使X按钮无效。
-
[VB语句]
私有声明函数GetSystemMenu Lib " user 32 "(ByVal hwnd为Long,ByVal bRevert为Long)
[描述]
获取指定窗口的系统菜单的句柄。在vb环境下,“系统菜单”的正式名称是“控制菜单”,即点击窗口左上角的控制框时出现的菜单。
[返回值]
Long,如果执行成功,返回系统菜单的句柄;零表示错误。如果bRevert设置为TRUE,它也将归零(只需恢复原来的系统菜单)
[备注]
在vb中使用:系统菜单会向窗口发送一个WM_SYSCOMMAND消息,而不是WM_COMMAND消息。
[参数列表]
HWND-LONG,窗口的句柄。
b . revert-long,如果设置为TRUE,表示收到了原始的系统菜单。
私有声明函数GetSystemMenu Lib "user32" ( _
ByVal hwnd为整数,_
ByVal bRevert作为整数_
)作为整数
[VB语句]
私有声明函数remove menu Lib“user 32”(ByVal hMenu为Long,ByVal nPosition为Long,ByVal wFlags为Long)为Long
[描述]
删除指定的菜单项。如果被删除的项目属于弹出菜单,此功能不会同时删除弹出菜单。应该先用GetSubMenu函数获取弹出菜单的句柄,以后再删除。
[返回值]
长,非零表示成功,零表示失败。GetLastError已设置。
[备注]
强烈建议您使用vb menu的visible属性来删除菜单中的项目,而不是使用该函数,否则指定菜单中其他菜单项的visible属性会影响到错误的菜单项。
[参数列表]
Enu-long,菜单的句柄
0条评论