- 关 键 词:
窗体右上角的X按钮通常用来关闭一个程序,这个小X按钮实际上是和系统菜单的“关闭”菜单项关联在一起的,什么?不知道什么是系统菜单,系统菜单是指我们点击窗体左上角的小图标时所弹出的菜单,其中好象有“恢复”、“移动”、“最大化”、“最小化”、“关闭”这么几个按钮。这个菜单用普通的方法是不能编辑和改变的,但是我们可以通过API函数GetSystemMenu来得到它的句柄,然后通过菜单相关的API函数就能改变它了,下面一起看看怎么做吧。
为了学习方便,下面先给出源码,并且已经作了详细的中文注释:
-------------------------------------------
使窗体右上角的X按钮失效
-------------------------------------------
程序说明:
本例利用API函数GetSystemMenu得到系统菜单的句柄
X按钮是系统菜单的一菜单项,然后用RemoveMenu函数
删去这一菜单项,也就是使X按钮失效了。
-------------------------------------------
【VB声明】
| Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long |
【说明】
取得指定窗口的系统菜单的句柄。在vb环境,“系统菜单”的正式名称为“控制菜单”,即单击窗口左上角的控制框时出现的菜单
【返回值】
Long,如执行成功,返回系统菜单的句柄;零意味着出错。如bRevert设为TRUE,也会返回零(简单的恢复原始的系统菜单)
【备注】
在vb里使用:系统菜单会向窗口发送一条WM_SYSCOMMAND消息,而不是WM_COMMAND消息
【参数表】
hwnd ----------- Long,窗口的句柄
bRevert -------- Long,如设为TRUE,表示接收原始的系统菜单
| Private Declare Function GetSystemMenu Lib "user32" ( _ ByVal hwnd As Integer, _ ByVal bRevert As Integer _ ) As Integer |
【VB声明】
| Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long |
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
- VB+Access设计图书管理系统 (104238次浏览)
- VB设计有语音报时和报警功能的闹钟 (13528次浏览)
- 用VB打造“超酷”个性化菜单 (667次浏览)
- VB基础学习:编码规范 (654次浏览)
- 对注册表进行编程的“捷径” (646次浏览)
- 在IIS中建立WEB站点的例子! (603次浏览)
- 用VB6.0设计简易赛车游戏 (414次浏览)
- 导入注册表设置 (308次浏览)
- 用Visual Basic.NET编写扑克牌游戏 (189次浏览)
- VB急速密码生成---RndString (188次浏览)



