Accelerator tabele

Un accelerator tabel dintr-o matrice structurilor GALE , fiecare definirea un accelerator individuale. Fiecare structură ACCEL include următoarele informa?ii:

Pentru a procesa taste accelerator pentru un fir dat, dezvoltatorul trebuie să apela funcția TranslateAccelerator în bucla mesaj asociat cu firul de mesaj coada. Funcția TranslateAccelerator monitorizează tastatură intrare a coada de mesaj, verificarea pentru combinațiile de taste care se potrivesc cu o intrare în tabelul de accelera?ie. Când TranslateAccelerator găsește o potrivire, acesta se traduce input tastatură (care este, WM_KEYUP și mesaje WM_KEYDOWN ) într-un mesaj WM_COMMAND sau WM_SYSCOMMAND și apoi trimite mesajul procedura fereastra din fereastra specificate. Ilustra?ia următoare arată cum sunt prelucrate acceleratoare.

Mesajul WM_COMMAND include identificatorul de accelera?ie care a cauzat TranslateAccelerator pentru a genera mesajul. Procedura fereastra analizează identificatorul pentru a determina sursa mesajului și apoi procesează mesajul în consecin?ă.

Accelerator tabele există, la două niveluri diferite. Sistemul păstrează un tabel unic, sistem-wide accelerator care se aplică la toate cererile. O cerere nu modificați tabelul accelerator sistem. Pentru o descriere a acceleratoare de tabelul accelerator sistem, consultați Atribuirile de taste Accelerator.

Sistemul de asemenea maintains accelerator tabele pentru fiecare cerere. Cererea poate defini orice număr de tabele accelerator pentru utilizare cu windows proprie. Un mâner unic 32-bit (HACCEL) identifică fiecare tabel. Cu toate acestea, accelerator singur tabel pot fi active simultan pentru un fir de date. Ghidajul la tabelul de accelera?ie trecut la funcția de TranslateAccelerator determină care tabel accelerator este activ pentru un fir. Tabelul active accelerator pot fi modificate în orice moment, prin care trece un mâner diferite accelerator-tabel de TranslateAccelerator.

Index