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

Вниз

Как сделать несколько 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;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.096 c
6-1192086147
pathfinder
2007-10-11 11:02
2008.08.17
Работа с FTP-сервером через HTTP-proxy


3-1204196258
Pos Eleptant (c)
2008-02-28 13:57
2008.08.17
Bitmap в Grid


15-1214901514
tesseract
2008-07-01 12:38
2008.08.17
а где флуд по этому вопросу :


15-1214989510
Slider007
2008-07-02 13:05
2008.08.17
С днем рождения ! 2 июля 2008 среда


15-1214980131
ЮЮ
2008-07-02 10:28
2008.08.17
Есть что ли бо типа ShellExecute в WBA ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский