Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.08;
Скачать: CL | DM;

Вниз

Горячие клавиши   Найти похожие ветки 

 
VISA   (2003-08-26 13:04) [0]

Необходимо в программе отлавливать нажатие горячих клавиш... Например, Ctrl+F12. Как это сделать, подскажите...


 
Sirus ©   (2003-08-26 13:16) [1]

Попробуй этот код:

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");
end;
if (msg.LParamLo=MOD_CONTROL) and (msg.LParamHi=82) then
begin
ShowMessage("Ctrl + R");
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;

У меня это работает...



Страницы: 1 вся ветка

Текущий архив: 2003.09.08;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.02 c
7-24722
Dmitriy M. Volkov
2003-06-24 13:51
2003.09.08
Замена стандартного taskmgr в WinXP


14-24668
Aga
2003-08-22 08:20
2003.09.08
setup...


14-24696
xmapa
2003-08-19 15:02
2003.09.08
Безмышиный интерфейс: как сделать главное меню?


3-24298
P0tia
2003-08-19 12:42
2003.09.08
Переход на другую строку


14-24617
data
2003-08-20 12:12
2003.09.08
ищу рассказ