Бързи клавиши - Бързи клавиши
Бързи клавиши - клавишни комбинации, които могат да отговорят на молбата, дори и ако това не е фокус или тичане в тавата.
Hotkey състои от модифициращ клавиш (Win, Alt, Control, Shift) и натиснете който и да е друг бутон, който има виртуален код.
За да се научи на програмата, за да се справи с клавишни комбинации, ние се рови в мистериозен джунглата на API,
но преди това, да създадете манипулатор WM_HOTKEY събития. За да направите това, ние заявяваме на TForm1 клас следния начин: частна
И това се дефинира така:
В този пример, проверки съобщение манипулатор WM_HOTKEY дали получените сигнали параметрите на натискане комбинация Alt-F10, и в случай на положителен отговор на главния прозорец форма глава съответния изходен линия.
Ние сега се обърнем директно към създаването на горещи клавиши - в нашия пример, това би било все едно Alt-F10. На първо е необходимо да се регистрирате в системата. Как става това? При използване на функцията:
- hWnd - прозореца на съобщенията се обработват WM_HOTKEY,
- fsModifiers - модификатори (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN),
- VK - виртуалната ключов код (виж константи VK_ префикс.).
параметър ID заслужава отделна дискусия.
За заявка номер стойност може да се намира в границите 0000h..BFFFh и за споделени библиотеки динамичен обхват ще бъде така: C000h..FFFFh.
Въпреки това, за да се избегнат конфликти между различните горещи клавиши процеси подходящи за използване на стойността върна функция GlobalAddAtom, да се разпространява като параметър на някои нулев прекратено низ до 255 знака.
Ето как:
Декларирам глобална променлива keyid: цяло число;
Тя ще бъде на атома, който ще се създаде по-горе функция, и ще служи като идентификатор на горещ клавиш. За удобство постави под формата на два бутона - първият е да се създаде HotKey, а вторият - да се унищожи.
Така че, да създавате и да се регистрирате горещ клавиш:
И следния код отменя регистриран ключ, и премахва атом:
Нека разгледаме още един важен аспект от работата с клавиатурата - един начин за проследяване на състоянието на клавишите Num Lock, Caps Lock, Scroll Lock и Insert.
Ясно е, че стандартните инструменти на Delphi не могат да правят тук.
Ние отново ще изкопае API. На първо място, ние определяме променлива от тип Key дума.
Тази променлива може да се придаде стойност на един от най-константи:
Софтуер превключване клавиатурни подредби - ако Microsoft Word може да направи това, защо не го и ние се опитваме?
ActivateKeyboardLayout (0, HKL_NEXT) - цикъл чрез оформлението.
Изтеглете руски, можете да използвате кода:
Тук, може би, и цялата мъдрост на клавиатурата.