Hotkeys - Hotkeys

Hotkeys - combinații de taste, care pot răspunde la cerere, chiar dacă aceasta nu are nici o focalizare sau rulează în tavă.

Hotkey constă dintr-o cheie modificator (Win, Alt, control, Shift), și apăsați orice altă tastă, care are un cod virtual.

Pentru a preda programul să se ocupe de hotkeys, vom îngropa în jungla misterioasă a API-ului,

dar înainte de aceasta, a crea un eveniment handler WM_HOTKEY. Pentru a face acest lucru, vom declara TForm1 clasă următoarea metodă: privat

Și definesc astfel:

În acest exemplu, verificări mesaj handler WM_HOTKEY dacă parametrii de semnal primit de presare combinații Alt-F10, iar în cazul unui răspuns pozitiv la antetul principal forma fereastra linie de ieșire corespunzătoare.

Ne întoarcem acum direct la crearea de taste - în exemplul nostru, acest lucru ar fi toate același Alt-F10. La început, este necesar să se înregistreze în sistem. Cum se face? Atunci când utilizați instrumentul:

  • hWnd - fereastra de mesaje în curs de procesare WM_HOTKEY,
  • fsModifiers - modificatori (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN),
  • vk - codul cheie virtuală (a se vedea constantele VK_ prefix.).

ID-ul parametru merită o discuție separată.

Pentru o aplicație id-ul se poate afla în intervalul 0000h..BFFFh și pentru bibliotecile partajate interval dinamic va fi atât: 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:

Declara o keyid variabilă la nivel mondial: număr întreg;

Acesta va fi un atom, care va crea funcția de mai sus, și va servi ca identificator al cheii fierbinte. Pentru comoditate pus sub forma a două butoane - primul este de a crea combinația de taste, al doilea - pentru a distruge.

Deci, creați și să înregistrați o cheie fierbinte:

Și următorul cod anulează cheia înregistrată, și elimină atomul:

Să considerăm 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ă instrumentele standard de Delphi nu pot face aici.

Vom scoate la iveală din nou API. În primul rând, vom defini o variabilă de cuvânt cheie de tip.

Această variabilă poate atribui o valoare uneia dintre constantele:

Software-ul aranjamente de tastatură de comutare - dacă Microsoft Word poate face acest lucru, de ce nu-l și încercăm?

ActivateKeyboardLayout (0, HKL_NEXT) - ciclu prin aspectul.

Descarcă Rusă, puteți folosi codul:

Aici, probabil, și toată înțelepciunea tastaturii.