Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.049 c
2-1215729286
fog
2008-07-11 02:34
2008.08.17
Почему генерируется ошибка?


2-1215772186
Виктор
2008-07-11 14:29
2008.08.17
Как разархивировать файл?


2-1215771573
Fobiya
2008-07-11 14:19
2008.08.17
Как можно обойти нажатие NumLock


15-1214850088
hmel
2008-06-30 22:21
2008.08.17
Глубокоувожаемые мастера помогите! Делаю программу,где нужно использовать круговые регуляторы...


2-1215884192
savyhinst
2008-07-12 21:36
2008.08.17
Маска





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский