Foxtable(狐表)用户栏目专家坐堂 → 自定义菜单,如何禁止直接关闭?


  共有3172人关注过本帖树形打印复制链接

主题:自定义菜单,如何禁止直接关闭?

帅哥哟,离线,有人找我吗?
erdbeer
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:445 积分:4777 威望:0 精华:0 注册:2010/4/11 14:09:00
自定义菜单,如何禁止直接关闭?  发帖心情 Post By:2015/12/28 22:46:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20151228224305.png
图片点击可在新窗口打开查看

 

 

如何让自定义的菜单右上角的 X (关闭)失效 ?


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/28 22:59:00 [只看该作者]

beforeCloseProject事件

 

e.cancel =  not vars("允许关闭")

 

如果要关闭,就赋值再关闭

 

vars("允许关闭") = true


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/28 23:06:00 [只看该作者]

mark 禁用关闭按钮

 

全局代码

 

Public Const SC_CLOSE As Integer = &Hf060
Public Const MF_ENABLED As Integer = &H0
Public Const MF_GRAYED As Integer = &H1
Public Const MF_DISABLED As Integer = &H2

<DllImport("user32.dll", EntryPoint := "GetSystemMenu")> _
Public Function GetSystemMenu(hWnd As IntPtr, bRevert As Integer) As IntPtr
End Function

<DllImport("User32.dll")> _
Public Function EnableMenuItem(hMenu As IntPtr, uIDEnableItem As Integer, uEnable As Integer) As Boolean
End Function

 

调用代码

 

Dim hMenu As IntPtr = GetSystemMenu(basemainform.Handle, 0)
EnableMenuItem(hMenu, SC_CLOSE, (MF_DISABLED + MF_GRAYED) Or MF_ENABLED)


 回到顶部