PB的窗口,怎么才能把ALT+F4 屏蔽掉呢,

nettang 2002-12-03 11:25:20
我把标题都去掉了,但是一按ALT+F4 这个窗口还是会关掉的,我现在只允许按一个按钮输入密码正确才能关掉.大家帮帮忙吧!
...全文
125 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wu_07 2002-12-03
  • 打赏
  • 举报
回复
也可以这样

integer m_nHotKeyID = 1000
Constant integer MOD_ALT = 1
constant integer VK_F4 = 115
//在窗口的Open事件中
long ll-RC
string ls-str
ls-str = "My atom ID"
atomid = GlobalAddAtom(ls-str) //得到惟一的ID,保证不和其他应用程序发生冲突
ll-RC = RegisterHotKey(Handle(this), atomid, MOD_ALT ,VK_F4)
FUNCTION ulong RegisterHotKey(ulong hwnd,ulong id,ulong fsModifiers,ulong vk) LIBRARY "user32.dll"
FUNCTION Integer GlobalAddAtom(ref string lpString) LIBRARY "kernel32.dll" ALIAS FOR "GlobalAddAtomA"
119119 2002-12-03
  • 打赏
  • 举报
回复
boolean id=0 在closequery中填写:
if id<>0 then return -1
tchatcha 2002-12-03
  • 打赏
  • 举报
回复
方法一:
1.在窗口的systemkey事件中增加以下代码:
IF KeyDown(KeyF4!) THEN
Message.Processed = TRUE
END IF
2.在窗口的closequery事件中增加如下代码:
Long ll_ret
IF KeyDown(keyF4!) THEN
ll_ret = 1
END IF
return ll_ret
方法二:
建一实例变量,在你的关闭程序上赋一个True然后在closequery中判断该值, 如为False则Return 1
myclife 2002-12-03
  • 打赏
  • 举报
回复
应一个实例变量记录是否密码输入正确
boolean ib_Pass

在CloseQuery中写:

If Not ib_Pass Then Return -1
toutou 2002-12-03
  • 打赏
  • 举报
回复
在close事件中检测输入值,不符合条件时return 1
szpqq 2002-12-03
  • 打赏
  • 举报
回复
同意myclife的,简单方便
可以自己设定一个条件,如果满足把那实例变量设为il_i = 1
然后在closequery事件中写上
if il_i<>1 then
return 1//禁止关闭窗口
end if

611

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧