Mesaje utilizate cu meniuri

Sistemul rapoarte meniul-activitatea de trimiterea de mesaje procedura fereastra din fereastra care deține meniul. Sistemul trimite o serie de mesaje atunci când utilizatorul selectează elementele de pe bara de meniu sau face clic cu butonul drept al mausului pentru a afișa un meniu de comenzi rapide.

Atunci când utilizatorul se activează un element de pe bara de meniu, fereastra de proprietar prima primește un mesaj WM_SYSCOMMAND . Acest mesaj include un simbol care indică dacă utilizatorul a activat din meniul utilizând tastatura (SC_KEYMENU) sau mouse-ul (SC_MOUSEMENU). Pentru mai multe informații, consultați Tastatura acces la meniurile.

Next, înainte de afișarea orice meniuri, sistemul trimite mesajul WM_INITMENU procedura fereastra astfel încât o cerere poate modifica meniurile înainte de utilizator le vede. Sistemul trimite mesajul WM_INITMENU o singură dată pe activare meniu.

Atunci când punctele de utilizator la un element de meniu care se deschide un submeniu, sistemul trimite fereastra proprietarul WM_INITMENUPOPUP mesajul înainte de afișarea submeniu. Acest mesaj oferă aplicarea posibilitatea de a modifica Submeniu înainte este afișat.

Fiecare dată când utilizatorul mută evidențierea la un articol la altul, sistemul trimite un mesaj WM_MENUSELECT procedura fereastra din meniul Fereastră de proprietar. Acest mesaj identifică elementul de meniu selectat în mod curent. Multe aplicații oferă o zonă de informații din partea inferioară a lor windows principal și de a folosi acest mesaj pentru a afișa informații suplimentare despre elementul de meniu selectat.

Când utilizatorul alege un element de comandă dintr-un meniu, sistemul trimite un mesaj WM_COMMAND pentru procedura fereastra. Cuvântul low-comanda mesajului WM_COMMAND wParam parametru conține identificatorul de elementul ales. Fereastra procedura ar trebui să examineze identificatorul și procesul mesajul în consecin?ă.

Nu toate meniurile sunt accesibile prin intermediul unei ferestre meniu bar. Multe aplicații afișa meniurile de comenzi rapide atunci când utilizatorul face clic pe butonul drept al mausului la o anumită locație. Astfel de cereri ar trebui să proces mesajul WM_CONTEXTMENU și afișează un meniu de comenzi rapide, dacă este cazul. Dacă o cerere nu se afișează un meniu de comenzi rapide, acesta ar trebui să treacă mesajul WM_CONTEXTMENU la funcția DefWindowProc pentru prelucrare implicit.

Index