Meldinger som brukes med menyer

Systemet rapporterer menyen-relatert aktivitet ved å sende meldinger i vinduet prosedyren i vinduet som eier på menyen. Systemet sender en rekke meldinger når brukeren velger elementer på menylinjen eller klikker høyre museknapp til å vise en hurtigmeny.

Når brukeren aktiverer et element på menylinjen, mottar eiervinduet først en WM_SYSCOMMAND -melding. Denne meldingen inneholder et flagg som angir om brukeren har aktivert på menyen ved hjelp av tastaturet (SC_KEYMENU) eller musen (SC_MOUSEMENU). Hvis du vil ha mer informasjon, kan du se Tastaturtilgang til menyer.

Neste, før du kan vise alle menyer, systemet sender WM_INITMENU meldingen i vinduet prosedyren slik at et program kan endre menyene før brukeren ser dem. Systemet sender meldingen WM_INITMENU bare én gang per menyen aktivisering.

Når brukeren peker til et menyelement som åpnes en undermeny, systemet sender eiervinduet WM_INITMENUPOPUP meldingen før vist på undermenyen. Denne meldingen gir programmet en mulighet til å endre undermenyen før det vises.

Hver gang brukeren flytter uthevingen fra ett element til et annet, sender systemet en WM_MENUSELECT melding til vindusprosedyre på menyen eier-vinduet. Denne meldingen identifiserer gjeldende valgte menyelementet. Mange programmer gir en informasjonsområdet nederst i sine viktigste Vinduer og bruke denne meldingen for å vise tilleggsinformasjon om det valgte menypunktet.

Når brukeren velger et element i kommandoen fra en meny, sender systemet en WM_COMMAND melding i vinduet prosedyren. Signifikante ordet WM_COMMAND meldingens wParam -parameteren inneholder IDen for den valgte varen. Vinduet prosedyren bør undersøke identifikatoren og behandle meldingen tilsvarende.

Ikke alle menyene er tilgjengelig via menylinjen for et vindu. Mange programmer vise hurtigmenyer når brukeren klikker høyre museknapp på et bestemt sted. Slike programmer bør behandle meldingen WM_CONTEXTMENU og vise en hurtigmeny, hvis det er aktuelt. Hvis et program ikke viser en hurtigmeny, bør det sende meldingen WM_CONTEXTMENU til DefWindowProc -funksjonen for standard behandling.

Index