Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Горячие клавиши


Автор: Vit 8.6.2002, 14:59
Вот код о том как назначить горячие клавиши если даже активна другая программа. Код взят из рассылки "Мастера DELPHI. Новости мира компонент, FAQ, статьи..."

Код

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  protected
    procedure hotykey(var msg:TMessage); message WM_HOTKEY;
  end;

var
  Form1: TForm1;
  id,id2:Integer;

implementation

{$R *.DFM}


procedure TForm1.hotykey(var msg:TMessage);
begin
  if (msg.LParamLo=MOD_CONTROL) and (msg.LParamHi=81) then
  begin
    ShowMessage('Ctrl + Q wurde gedrьckt !');
  end;

  if (msg.LParamLo=MOD_CONTROL) and (msg.LParamHi=82)
then
  begin
    ShowMessage('Ctrl + R wurde gedrьckt !');
  end;
end;


procedure TForm1.FormCreate(Sender: TObject);
begin
  id:=GlobalAddAtom('hotkey');
  RegisterHotKey(handle,id,mod_control,81);

  id2:=GlobalAddAtom('hotkey2');
  RegisterHotKey(handle,id2,mod_control,82);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  UnRegisterHotKey(handle,id);
  UnRegisterHotKey(handle,id2);
end;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)