回 帖 发 新 帖 刷新版面

主题:快捷键使用问题....

比如,,定义一个快捷键为:Ctrl+M

当我们按下Ctrl+M,,执行....按下事件

放开的时候,,如果先放开M..执行放开事件,,,如果先放开Ctrl..就不执行放开事件了..

要怎么解决啊....不管先放开哪个键都要执行放开事件,,,怎么解决啊...

回复列表 (共1个回复)

沙发

一、设置窗口的KeyPreview属性为True
二、编写窗口的KeyUp事件
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  {type TShiftState = set of (ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble);}
  if char(key)='M' then
    if Shift=[ssCtrl] then
      showmessage('ok');

我来回复

您尚未登录,请登录后再回复。点此登录或注册