怎样定义一个热键在Form上(如但Form显示出来了,我按一下PageUp就触发一个事件)

解决方案 »

  1.   

    form的keypreview设置为true
    procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      if key=33 then
        begin
          ......
        end;
    end;
      

  2.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs;type
      TForm1 = class(TForm)
        procedure FormCreate(Sender: TObject);
        procedure FormKeyUp(Sender: TObject; var Key: Word;
          Shift: TShiftState);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
    if key=33 then
        begin
          showmessage('PageUP');
        end;end;
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    self.KeyPreview:=true;
    end;
    end.