ModifyMenu

Funksjonen ModifyMenu endrer en eksisterende meny-innstilling. Denne funksjonen brukes til å angi innhold, utseendet og virkemåten til menyelementet.

Funksjonen ModifyMenu har blitt erstattet av funksjonen SetMenuItemInfo . Du kan fortsatt bruke ModifyMenu, men hvis du ikke trenger noen av det utbygget vise egenskaper av SetMenuItemInfo.

BOOL ModifyMenu) HMENU  hMnu, / / håndtere-menyenUINTuPosition, / / meny artikkel for å endreUINTuFlags, / / menyelementet flagsUINTuIDNewItem, / / menyen element identifikator eller håndtere å miste-ned / / meny eller undermenyLPCTSTRlpNewItem / / menyen vare innhold);
 

Parametere

hMnu
Håndtere til menyen endres.
uPosition
Angir menyelementet som skal endres, i hennhold til parameteren uFlags.
uFlags
Angir flaggene som kontrollerer tolkningen av parameteren uPosition og innhold, utseendet og virkemåten til menyelementet. Denne parameteren må være en kombinasjon av en av følgende nødvendige verdier og minst én av verdiene som er oppført i delen for følgende merknader.
Verdi Betydning
MF_BYCOMMAND Angir at uPosition -parameteren gir identifikator for menyelementet. MF_BYCOMMAND-flagget er standard hvis verken MF_BYCOMMAND eller MF_BYPOSITION-flagget er angitt.
MF_BYPOSITION Angir at uPosition -parameteren gir menyelementet nullbasert relative plassering.

uIDNewItem
Angir identifikatoren til det endrede menyelementet, eller hvis parameteren uFlags har MF_POPUP-flagg satt, håndtaket for å miste-ned meny eller undermeny.
lpNewItem
Pekeren til innholdet i det endrede meny artikkel. Tolkningen av denne parameteren avhenger av om parameteren uFlags inkluderer MF_BITMAP, MF_OWNERDRAW eller MF_STRING-flagg.
Verdi Betydning
MF_BITMAP Inneholder en bitmap håndtak.
MF_OWNERDRAW Inneholder en 32-biters verdien som angis av et program som brukes til å vedlikeholde tilleggsdata som er relatert til menyelementet. Verdien er i itemData -medlem av strukturen som vises til i lparam -parameteren for WM_MEASUREITEM eller WM_DRAWITEM -meldinger sendt når menyelementet opprettes eller oppdateres utseendet.
MF_STRING Inneholder en peker til en null-terminert streng (standard).

Returverdier

Hvis funksjonen lykkes, er returverdien ikke-null.

Hvis funksjonen mislykkes, er verdien som returneres Null. Hvis du vil få utvidet feilinformasjon, kan du ringe GetLastError.

Merknader

Hvis ModifyMenu erstatter et menyelement som åpner en miste-ned meny eller undermeny, funksjonen ødelegger gamle miste-ned meny eller undermeny og frigjør minne som brukes av det.

For at tastatur gasspedalene å arbeide med punktgrafikk eller eieren trukket menyelementer, må eieren av menyen behandle meldingen WM_MENUCHAR. Se Owner-Drawn menyer og WM_MENUCHAR meldingen for mer informasjon.

Programmet må kalle funksjonen DrawMenuBar hver gang endringer på en meny, om menyen er i vindumodus vises. Hvis du vil endre attributtene for eksisterende menyelementer, er det mye raskere å bruke funksjonene CheckMenuItem og EnableMenuItem.

Listen nedenfor beskriver flaggene som kan angis i parameteren uFlags:

Verdi Betydning
MF_BITMAP Bruker et punktgrafikkbilde som menyelementet. LpNewItem -parameteren inneholder håndtaket til bitmap.
MF_BYCOMMAND Angir at uPosition -parameteren angir identifikatoren til menyelementet (standard).
MF_BYPOSITION Angir at uPosition -parameteren angir det nye menyobjektet nullbasert relative plassering.
MF_CHECKED Hvis du setter en hake ved siden av elementet. Hvis programmet oppgir hake punktgrafikk (se funksjonen SetMenuItemBitmaps ), vises dette flagget ved siden av menyelementet avmerkede punktgrafikk.
MF_DISABLED Deaktiverer menyelementet slik at det kan ikke velges, men dette flagget gray ikke det.
MF_ENABLED Aktiverer menyelementet slik at det kan velges, og gjenoppretter det fra den grå tilstanden.
MF_GRAYED Deaktiverer menyelementet og grays det slik at det ikke kan velges.
MF_MENUBARBREAK Funksjoner den samme som MF_MENUBREAK flagg for en menylinje. For en miste-ned meny, undermeny eller hurtigmeny, er den nye kolonnen atskilt fra kolonnen gammelt med en loddrett linje.
MF_MENUBREAK Plasserer elementet på en ny linje (for menylinjer) eller i en ny kolonne (for en miste-ned meny, undermeny eller hurtigmeny) uten å skille kolonner.
MF_OWNERDRAW Angir at elementet er en vare som eier-tegnet. Før-menyen vises for første gang, vinduet som eier på menyen, mottar du en WM_MEASUREITEM -melding til å hente bredden og høyden på menyelementet. WM_DRAWITEM meldingen sendes deretter i vinduet prosedyren i eier-vinduet hver gang utseendet til menyelementet må oppdateres.
MF_POPUP Angir at menyelementet, åpnes en miste-ned meny eller undermeny. UIDNewItem -parameteren angir du håndtaket for å miste-ned meny eller undermeny. Dette flagget brukes til å legge til et menynavn på en menylinje eller en meny artikkel det åpnes en undermeny til en miste-ned meny, undermeny eller hurtigmeny.
MF_SEPARATOR Tegner en vannrette delelinjen. Dette flagget brukes bare i en miste-ned meny, undermeny eller hurtigmeny. Linjen kan ikke være grå, deaktivert eller uthevet. Parameterne lpNewItem og uIDNewItem ignoreres.
MF_STRING Angir at menyelementet er en tekststreng, parameteren lpNewItem peker til strengen.
MF_UNCHECKED Ikke Plasser en hake ved siden av elementet (standard). Hvis programmet leverer hake punktgrafikk (se funksjonen SetMenuItemBitmaps ), viser dette flagget en ukontrollert punktgrafikk ved siden av menyelementet.

Følgende rapportgrupper notatflagg kan ikke brukes sammen:

Se også

Oversikt over menyene, Menyfunksjoner, AppendMenu, CheckMenuItem, DrawMenuBar, EnableMenuItem, SetMenuItemBitmaps, SetMenuItemInfo, WM_DRAWITEM, WM_MEASUREITEM

Index