Форум: "Начинающим";
Текущий архив: 2008.08.17;
Скачать: [xml.tar.bz2];
ВнизКак сделать несколько Hotkey s? Найти похожие ветки
← →
Al (2008-07-09 22:54) [0]Здраствуйте подскажите пожалуйста как сделать несколько Hotkey? Про одну все понятно, а несколько никак не получается, наверное руки совсем кривые:).
private
procedure WMHotKey(var Msg: TWMHotKey); message WM_HOTKEY;
...
const
MyHotKey = ord("1");
procedure TForm1.WMHotKey(var Msg: TWMHotKey);
begin
MessageBeep(0);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
RegisterHotKey(Form1.Handle, MyHotKey, 0, MyHotKey);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
UnRegisterHotKey(Form1.Handle, MyHotKey);
end;
← →
KilkennyCat © (2008-07-10 01:16) [1]Зарегестрировать столько, сколько надо.
Иными словами, повторить код в onCreate и onDestroy столько, сколько надо.
В обработке получения сообщения создать условие, чему равно Msg
← →
Германн © (2008-07-10 01:31) [2]
> Al (09.07.08 22:54)
>
> Здраствуйте подскажите пожалуйста как сделать несколько
> Hotkey? Про одну все понятно, а несколько никак не получается,
> наверное руки совсем кривые:).
>
Кривость рук по сабжу не видно. Видна "малограмотность".
Ну прям как в 20-х годах прошлого века в России ака РСФСР. "Буквы знаю, а читать не умею".
Пора вводить новый, современный ликбез. :)
← →
brother © (2008-07-10 05:16) [3]> Видна "малограмотность".
но и конференция подходящая)))
жаль, что гуглить нормально уже все разучились, одни мастаки и умеют)))
зы напомнило это:
Вот как соощение о вирусе всплывает, так все сразу админа зовут с криками о помощи, а как 1 июля квип упал, так сами все прекрасно обновили. (с) Баш
← →
Leonid Troyanovsky © (2008-07-10 09:53) [4]
> Al (09.07.08 22:54)
> Здраствуйте подскажите пожалуйста как сделать несколько
> Hotkey?
Одного такого вполне достаточно, чтобы юзеры тебе руки поотрывали.
См. TActionList, Action.ShortCut.
--
Regards, LVT.
← →
User (2008-07-10 09:53) [5]
type
TForm1 = class(TForm)
...
private
id1, id2, id3, id4: integer;
procedure wmhotkey(var msg: twmhotkey); message wm_hotkey;
...
procedure TForm1.wmhotkey(var msg: twmhotkey);
begin
if msg.hotkey = id1 then ... // действие 1;
if msg.hotkey = id2 then ... // действие 2;
if msg.hotkey = id3 then ... // действие 3;
if msg.hotkey = id4 then ... // действие 4;
end;
...
procedure TForm1.FormCreate(Sender: TObject);
begin
id1:= globaladdatom("hotkey1"); RegisterHotKey(handle, id1, mod_key_1, key1);
id2:= globaladdatom("hotkey2"); RegisterHotKey(handle, id2, mod_key_2, key2);
id3:= globaladdatom("hotkey3"); RegisterHotKey(handle, id3, mod_key_3, key3);
id4:= globaladdatom("hotkey4"); RegisterHotKey(handle, id4, mod_key_4, key4);
...
procedure TForm1.FormDestroy(Sender: TObject);
begin
unregisterhotkey(handle, id1); globaldeleteatom(id1);
unregisterhotkey(handle, id2); globaldeleteatom(id2);
unregisterhotkey(handle, id3); globaldeleteatom(id3);
unregisterhotkey(handle, id4); globaldeleteatom(id4); ...
end;
...
/CODE> - взято из какого-то FAQ ...
← →
KilkennyCat © (2008-07-10 10:59) [6]
> Leonid Troyanovsky © (10.07.08 09:53) [4]
Нам неизвестно, мож сознательно сие :)
← →
Anatoly Podgoretsky © (2008-07-10 12:27) [7]> brother (10.07.2008 5:16:03) [3]
Ну так, никто не знает английского, в компьютерах совсем не разбирается, с Ворд/Эксель и браузе по их словам Мы не умеем работать.
← →
Al (2008-07-11 14:00) [8]Спасибо to User (10.07.08 09:53) [5]
Ну и всем отписавшимся за бурное обсуждение:)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.08.17;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.055 c