TC官方合作论坛

 找回密码
 立即注册
查看: 901|回复: 8

[已解决] 如何让界面右上角的×(退出功能)失效。

[复制链接]
发表于 2013-12-4 18:28:05 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
如何让界面右上角的×(退出功能)失效。只能用界面里的退出按钮,退出。
回复

使用道具 举报

发表于 2013-12-4 18:35:16 | 显示全部楼层
在窗口属性里吧  窗口关闭里的默认函数改掉呗
回复 支持 反对

使用道具 举报

发表于 2013-12-4 19:47:02 | 显示全部楼层

就是调用了两个系统API
GetSystemMenu得到系统菜单句柄(供第二个函数使用)
EnableMenuItem使系统菜单中的“关闭”按钮灰化(自然就失效了)
回复 支持 1 反对 0

使用道具 举报

发表于 2013-12-4 19:26:23 | 显示全部楼层

  1. <P> </P>
复制代码
写出来就两句,查MSDN费了老半天时间,好长时间没鼓捣VC了

回复 支持 反对

使用道具 举报

发表于 2013-12-4 19:27:25 | 显示全部楼层
晕,我没粘上去

  1. 功能 初始化()
  2. //这里添加你要执行的代码
  3. var hWnd=window.getmyhwnd()//获取窗口自身的句柄
  4.     var hMenu //用来接收GetSystemMenu返回的菜单句柄
  5.    
  6. //EnableMenultem(GetSystemMenu(hwnd,FALSE),SC_CLOSE,MF_BYCOMMAND | MF_GRAYED)
  7. //#define SC_CLOSE 0xF060
  8.     //#define MF_BYCOMMAND 0x00000000
  9.     //#define MF_GRAYED 0x00000001
  10.     hMenu=dllcall("User32.dll","int","GetSystemMenu","int",hWnd,"bool",false)
  11. dllcall("User32.dll","int","EnableMenuItem","int",hMenu,"int",#F060,"int",1)
  12. 功能结束
复制代码
回复 支持 反对

使用道具 举报

发表于 2013-12-4 19:40:04 | 显示全部楼层

(⊙o⊙)…没看懂
回复 支持 反对

使用道具 举报

发表于 2013-12-4 20:21:56 | 显示全部楼层
dongyijun1979 发表于 2013-12-4 19:47
就是调用了两个系统API
GetSystemMenu得到系统菜单句柄(供第二个函数使用)
EnableMenuItem使系统菜单中 ...

太深奥了 没看过系统API  不过新手对这个还是比较难理解的吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-4 20:25:00 | 显示全部楼层

我刚才测试了一下,对主窗口管用,但是如果针对子窗口,如何修改?
回复 支持 反对

使用道具 举报

发表于 2013-12-4 23:00:20 | 显示全部楼层
我测试了一下,对子窗口也是可以的。其实是一样的的道理:你在子界面的初始化函数里写上上面的代码,只是要改变一下获取窗口句柄的方式。window.getmyhwnd()只能获取主窗口句柄。

那两行代码的作用我上面也解释了,
直接给你传个我刚测试的东东吧,你好好看下就明白了



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-9-28 23:51 , Processed in 0.041058 second(s), 25 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表