快捷键定义高分赠送(200分)(急)(200分)

  • 主题发起人 主题发起人 wenhong
  • 开始时间 开始时间
W

wenhong

Unregistered / Unconfirmed
GUEST, unregistred user!
不知谁能告诉我在一个FORM中怎样定义快捷键
该快捷键在该FORM中的任何控件都可以发挥作用
 
一个快捷键只能对一个事件吧,
你把所有控件加到一个PANEL或FRAME上去,
然后对PANEL或FRAME定义快捷键
 
Form属性中的KeyPreview设置为true,然后在Form的OnKeypress事件里加入
if key=...then
...
之类的判断语句就行了.
 
当然你也可以通过注册系统快捷方式来达到目的。
例子如下:

//注册快捷方式
function TMainForm.RegHotKey: Boolean;
begin
if RegisterHotKey(MainForm.Handle,START_HOT_KEY_ID,MOD_CONTROL or MOD_ALT,$30) and
and RegisterHotKey(MainForm.Handle,SHOW_WINDOW_ID, 0,$6A) then
Result := TRUE
代码:
else
Result := FALSE;
end;

//热键事件
procedure TMainForm.StartByHotKey(var Message: TMessage);
begin
if Message.WParam = START_HOT_KEY_ID then
begin
............
exit;
end;
if Message.WParam = SHOW_WINDOW_ID then
begin
...........
Exit;
end;
end;
 
处理时基于activecontrol 进行!
 
接受答案了.
 
后退
顶部