换言之,在祖先Form中定义的热键,如何让它在子孙窗口中成为一个事件样的供调用?
如:1.procedure TFrmParent.FormCreate(Sender: TObject);
Var
vs_status :String;
begin
id:=GlobalAddAtom('hotkey');
RegisterHotKey(handle,id,mod_control,83);
End;
2.procedure TFrmParent.FormDestroy(Sender: TObject);
begin
UnRegisterHotKey(handle,id); //别忘了在退出时取消定义
end;
3.想定义一个事件在子孙窗口中可见,在安上面的热键时触发
如:1.procedure TFrmParent.FormCreate(Sender: TObject);
Var
vs_status :String;
begin
id:=GlobalAddAtom('hotkey');
RegisterHotKey(handle,id,mod_control,83);
End;
2.procedure TFrmParent.FormDestroy(Sender: TObject);
begin
UnRegisterHotKey(handle,id); //别忘了在退出时取消定义
end;
3.想定义一个事件在子孙窗口中可见,在安上面的热键时触发
解决方案 »
- 多线程中 的dll调用messagebox引起 call an os failed
- too many actual parameters?
- G-MAIL 的申请办法,好久不来了,给大家送点过节礼物 :)
- 问题
- 关于dbgrid问题
- 按照网上写了一个组件,虽然编译安装成功.但是却没有作用
- 急,非常急,帮DEPHI菜鸟,
- ADO数据导入问题
- 200分问题,知道机器上一个文件的文件名(aaa.dtt 文件为本机内,且文件唯一),如何获得该文件的路径,并将其显示再一个LABEL里?
- 新增資料時出現 record/key delete 錯誤
- 请问关于logo的问题
- 有没有实现表头是横向的类似DBGrid的控件
热键怎么用你应该知道吧在父类中,定义一个虚函数procedure DoCtrlW;vitrual,当收到热键消息就调用这个函数
定义一个事件属性property OnCtrlW:TNotifyEvent read FOnCtrlW write FOnCtrlW;
在子类中,重载这个虚函数,
procedure Doctrlw;override;
begin
inherited;
if assigned(OnCtrlW) then
OnCtrlW(nil);
end;事件 OnCtrlW就是你要的热键触发的事件。