Главная страница
    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.055 c
2-1216116471
Костик
2008-07-15 14:07
2008.08.17
как определить координаты?


15-1211457036
Kerk
2008-05-22 15:50
2008.08.17
Идеальная потрепаловка. Какой она должна быть?


2-1215880025
AIK
2008-07-12 20:27
2008.08.17
Загрузить txt ресурс из dll в TStringList


6-1192106535
GamerZone
2007-10-11 16:42
2008.08.17
Загрузка удаленного файла


2-1215759810
TUserClass
2008-07-11 11:03
2008.08.17
"Полосатый" DBGrid и несколько выделенных записей ...





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