如何按ESC键退出一个Form???(100)

  • 主题发起人 主题发起人 aKnightChen
  • 开始时间 开始时间
A

aKnightChen

Unregistered / Unconfirmed
GUEST, unregistred user!
我用的是TApplicationEvents控件,放在FORM中,当检测到有ESC键时,就CLOSE这个FORM现在问题来了,这个FORM中,有几个COMBOBOX控件,当你按下拉选择时,这里,如果你也按ESC,它也会退出FORM,我想达到这种效果: 当下拉时,你按ESC,应当是先关了下拉,然后你再按ESC,才退出FORM我如何才能实现这种效果呢?注意: 我这里只是举个例,实际上,不一定是COMBOBOX,也可能是其它控件,比如DEV序列,我想知道,当按ESC时,我能不能判断"当前FORM中,有下拉,不能退出FORM"???
 
actionlist中新增action hotkey为esc 然后action事件中colse 看看如何?
 
已按上述做了,不行!(在下拉选择时,如果按ESC, 会关掉整个FORM)感谢楼上,期待还有其它方法....
 
添加一个按钮。。。将其 Cancel 设为TRUE 。。然后在按钮的单击事件里面写上 close 。
 
上述方法可以达到目的,但有个问题,我是想达到通用的FORM都有这个功能,但是,这个按纽,必须VISIBLE,才有.(如果能Invisible=False时,也有这个功能,我就可以偷偷地在所有FORM上创建一个这样的按纽)我用PopMenu试了,也不行.还有没有其它方法.....
 
设置button的大小为0
 
判断Form是不是Focused=True
 
MainMenu1 设置一个ESC的快捷键盘 写上close要隐藏的
 
设置button的大小为0 --->这个方法不错.再加上TabStop:=False;唉,就选这个案吧!
 
很可惜,我用的是cxVerticalGrid控件,它好像按ESC不会到button.cancel这里.(当输入焦点在cxVerticalGrid时)最后,我放弃了.
 
当输入焦点在cxVerticalGrid时这个控件收到这个键时,能否再自己写代码触发button呢
 
后退
顶部