比如F1键弹出系统帮助.我也想定义一热键来启动某一程序,或响应程序中的某事件.而不要等到焦点移到它上去的时候才可按键来响应.这应该怎么做啊?

解决方案 »

  1.   

    ActionList控件完成。F1最好用菜单的热键完成。
      

  2.   

    type
    TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    protected
    procedure myshortcut(var message: TMessage); message WM_HOTKEY;
    private
    { Private-Deklarationen }
    public
    { Public-Deklarationen }
    end;var
    Form1: TForm1;
    id:Integer;implementation{$R *.DFM}procedure TForm1.myshortcut(var message: TMessage);
    begin
    ShowMessage(’你好,ALT + A 被按下’);
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
    id:=GlobalAddAtom(’hotkey’);
    RegisterHotKey(handle,id,MOD_CONTRoL,65); 
    end;procedure TForm1.FormDestroy(Sender: TObject);
    begin
    UnRegisterHotKey(handle,id); 
    end;
      

  3.   

    老兄,能不能教一下actionlist怎么用啊?
       楼上列出的程序,小弟也有点看不懂啊.RegisterHotKey(handle,id,MOD_CONTRoL,65); 就这句.