delphi如何给按钮添加单键快捷键(F1~F12)

用action

讲按钮窗体的Keypreview设为True,然后加如下代码

Delphi/Pascal code
?
1
2
3
4
5
6
procedure  TForm1 . FormKeyDown(Sender: TObject;  var  Key:  Word ;
   Shift: TShiftState);
begin
   if  Key=VK_F1  then
     self . Button5 . Click;
end ;
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; 
  Shift: TShiftState); 
begin 
  case key of 

      VK_F1:      Button1Click(nil);
      VK_F2:      Button2Click(nil);

    end; 

end;
用applicationEvent

procedure TForm1.evnts1Message(var Msg: tagMSG;
  var Handled: Boolean);
begin
  //如果不是当前窗体的消息,不处理
  if GetActiveWindow <> Handle then
    Exit;

  //处理F1
  if (Msg.message=WM_KeyDown) and (Msg.wParam=VK_F1) then
  begin
    btnHelpClick( Self );
    Handled := True;
  end;
end;


TActionList  简单方便


你可能感兴趣的:(Delphi)