TranslateAccelerator

Funkcia TranslateAccelerator procesy skratky pre príkazy ponuky. Funkcia prekladá WM_KEYDOWN alebo WM_SYSKEYDOWN WM_COMMAND alebo WM_SYSCOMMAND správu (ak je položka pre kľúč v tabuľke vybratý prístupový kláves) a potom odošle WM_COMMAND alebo WM_SYSCOMMAND hlásenie priamo na vhodné okno postupu. TranslateAccelerator sa nevráti, kým okno postup spracoval správy.

 int TranslateAccelerator ( HWND  hWnd; / / spracovať do cieľového oknaHACCELhAccTable; / / zvládnuť akcelerátora tabuľkyLPMSGlpMsg / / address konštrukcie s hlásením);
 

Parametre

hWnd
Spracovať do okna, ktorých správy sa prevedú.
hAccTable
Popisovač akcelerátora tabuľky. Tabuľka akcelerátor musí boli pod3/4a volanie funkcie LoadAccelerators alebo vytvorené volanie funkcie CreateAcceleratorTable.
lpMsg
Smerník na MSG štruktúru, ktorá obsahuje informácie o správe načíta z volania vlákno správ frontu pomocou funkcie GetMessage alebo PeekMessage.

Note:

Ak funkciu podarí, vrátená hodnota je nenulové.

Ak funkcia zlyhá, vrátená hodnota je nula. Získajte rozšírené informácie o chybách, volajte na číslo GetLastError.

Poznámky

Na odlíšenie správu, ktorá túto funkciu odošle z odosielajú ponuky alebo ovládacích prvkov, rozdeli slovo wParam parameter WM_COMMAND alebo WM_SYSCOMMAND správa obsahuje hodnotu 1.

Akcelerátor klávesom použiť na výber položiek v ponuke okno sú preložené do WM_SYSCOMMAND správy; všetky ostatné akcelerátora klávesom sú preložené do WM_COMMAND správy.

Keď TranslateAccelerator vráti nenulovú hodnotu a správa je preložená, uplatňovanie by nemali používať funkciu TranslateMessage spracovať správu znova.

Urýchľovač nemusí zodpovedať príkazu ponuky.

Ak príkaz akcelerátora zodpovedá položka ponuky, prihláška je poslaná WM_INITMENU a WM_INITMENUPOPUP správy, akoby používateľa sa snažili zobrazte ponuku. Avšak, tieto správy nie sú odoslané ak existuje ktorákoľvek z týchto podmienok:

Ak zadané okno aktívneho okna a nie okno má klávesnice (čo je vo všeobecnosti v prípade ak okno je minimalizované), TranslateAccelerator prekladá WM_SYSKEYUP a WM_SYSKEYDOWN správy namiesto WM_KEYUP a WM_KEYDOWN správ.

Ak sa stlačenie klávesu akcelerátora vyskytne zodpovedajúca položka ponuky pri minimalizovaní okna, ktoré vlastní v ponuke, TranslateAccelerator neposiela správu WM_COMMAND. Avšak ak akcelerátora úhoz nastane, ktorá nezodpovedá žiadnemu položiek v ponuke okno alebo v ponuke okno funkciu odošle správu WM_COMMAND dokonca aj vtedy, ak okno je minimalizované.

Windows CE: Všetky kľúčové posolstvá akcelerátora sú preložené do WM_COMMAND správy; Windows CE nepodporuje WM_SYSCOMMAND správ.

Stručné informácie

nbsp; Systém Windows &NT: vyžaduje verzia 3.1 alebo novšia.
Windows:Vyžaduje systém Windows 95 alebo novším.
Windows CE:Vyžaduje verziu 1.0 alebo novšiu verziu.
Hlavičky:Deklarovaný v súbore winuser.h.
Importovať knižnica:Použiť user32.lib.
Unicode:Implementovaný ako Unicode, ANSI verzia v systéme Windows NT.

Pozri tiež

Klávesnice-prehlad urýchľovače, klávesnice urýchľovacích funkcií, CreateAcceleratorTable, GetMessage, LoadAccelerators, MSG, PeekMessage, SetCapture, TranslateMessage, WM_COMMAND, WM_INITMENU, WM_INITMENUPOPUP, WM_KEYDOWN, WM_SYSKEYDOWN, WM_SYSCOMMAND

Index