Tastele rapide - taste rapide - delfii

HotKeys - taste rapide

HotKeys sunt combinații de chei la care o aplicație poate răspunde, chiar dacă nu are focalizare sau rulează în tavă.
Tasta rapidă constă într-o cheie de modificare (Win, Alt, Control, Shift) și prin apăsarea oricărei alte taste care are cod virtual.







Pentru a preda programul să se ocupe de hotkeys, se îngropa în jungla misterioasă a API-ului, dar înainte de aceasta, a crea un eveniment handler WM_HOTKEY. Pentru a face acest lucru, să declare clasa TForm1 următoarea metodă: privat și defini astfel: În acest exemplu, controalele manipulant WM_HOTKEY mesaj dacă parametrii semnalului recepționat să apăsați combinația Alt-F10, iar în cazul unui răspuns pozitiv în antetul ferestrei forma principală afișează rândul corespunzător . Acum, să mergem direct la crearea unei taste rapide - în exemplul nostru va fi același Alt-F10. Mai întâi trebuie să-l înregistrezi în sistem. Cum se face acest lucru? Utilizarea funcției:

BOOL RegisterHotKey (HWND hWnd, int id, UINT fsModifiers, UINT vk);
hWnd - fereastra de prelucrare a mesajului WM_HOTKEY,
fsModificatoare - modificatori (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN),






vk este codul cheii virtuale (vezi constantele cu prefixul VK_).


Parametrul id merită o conversație separată. Pentru o aplicație, ID-ul poate fi în intervalul 0000h..BFFFh, iar pentru bibliotecile dinamice partajate intervalul va fi: C000h..FFFFh. Cu toate acestea, pentru a evita conflictele dintre diferitele procese de chei fierbinți adecvate pentru a utiliza valoarea returnată funcției GlobalAddAtom, trecându-l ca parametru la unele șir terminat-nul de până la 255 de caractere în lungime.

Iată cum se face:
Declarați keyidul variabil global: întreg;
Acesta va deveni atomul care va fi creat prin funcția de mai sus și va servi ca identificator de taste. Pentru comoditate, vom pune două butoane pe formular - primul va crea HotKey, al doilea - pentru a distruge. Deci, creați și să înregistrați o cheie fierbinte: În următorul cod anulează cheia înregistrată, și elimină atomul: Luați în considerare un alt aspect important al lucrării cu tastatura - o modalitate de a urmări starea tastelor Num Lock, Caps Lock, Scroll Lock și Inserare. Este clar că Delphi nu poate face acest lucru cu unelte standard. Vom scufunda API din nou. Mai întâi, setăm variabila "Cuvântul cuvântului de tip". Această variabilă poate fi atribuită valorii uneia dintre constante:
VK_NUMLOCK
VK_CAPITAL
VK_SCROLL
VK_INSERT

Acum: Layout-ul tastaturii pentru switch-ul software-ului - dacă Microsoft Word este capabil, atunci de ce să nu încercați și noi? ActivateKeyboardLayout (0, HKL_NEXT) - cicluri prin aspect.
Puteți descărca limba rusă utilizând următorul cod: engleză. Aici, poate și toată înțelepciunea de a lucra cu tastatura.

Asta-i tot, noroc!







Articole similare

Trimiteți-le prietenilor: