- 中查找“使窗体右上角的X按钮失效”更多相关内容
- 中查找“使窗体右上角的X按钮失效”更多相关内容
- ·上一篇文章:使用WIN95的选择目录对话框
- ·下一篇文章:使窗口总在最前
使窗体右上角的X按钮失效
程序中用到了两个API函数GetSystemMenu、RemoveMenu,其中GetSystemMenu函数用来得到系统菜单的句柄,RemoveMenu用来删除指定的菜单条目,我们先来看看这个函数的声明和参数:
Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
其中各GetSystemMenu参数的意义如下表:
参数: 意义
hwnd Long, 系统菜单所在窗口的句柄
bRevert Long,如设为TRUE,表示恢复原始的系统菜单
返回值 Long,如执行成功,返回系统菜单的句柄;零意味着出错。如bRevert设为TRUE,也会返回零(简单的恢复原始的系统菜单)
而RemoveMenu参数的意义如下表:
参数: 意义
hMenu Long,菜单的句柄
nPosition Long,欲改变的菜单条目的标识符。如在wFlags参数中指定了MF_BYCOMMAND,这个参数就代表欲改变的菜单条目的命令ID。如设置的是MF_BYPOSITION,这个参数就代表菜单条目在菜单中的位置(第一个条目的位置为零)
wFlags Long,常数MF_BYCOMMAND=&H0&或MF_BYPOSITION=&H400&,取决于nPosition参数
返回值 Long,非零表示成功,零表示失败。
然后就可以在程序中使用这两个函数了,我们在窗体的Form_Load()过程中加入如下代码:
MyMenu = GetSystemMenu(Me.hwnd,0) ''得到系统菜单的句柄,Me.hwnd表示当前窗体的句柄
RemoveMenu MyMenu, &HF060, MF_BYCOMMAND ''移去“关闭”菜单项,&HF060“关闭”菜单项的命令ID
接着我们运行程序,看看窗体右上角的X按钮是不是已经不可点击了,系统菜单中的“关闭”项也消失了,很有趣,不过一定记着为程序留一个“退出”按钮哦!
Tags:
作者:佚名评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论