ModifyMenu

De ModifyMenu functie wijzigt u een bestaande menu-item. Deze functie wordt gebruikt om de inhoud, uiterlijk en gedrag van het menu-item opgeven.

De functie ModifyMenu is vervangen door de SetMenuItemInfo functie. U kunt nog steeds ModifyMenu, echter, als u niet een van de uitgebreide kenmerken van SetMenuItemInfo hoeft.

BOOL ModifyMenu ()  HMENU  hMnu, / / ingang naar menuUINTuPosition, / / menu-item wijzigenUINTuFlags, / / menu-item vlaggenUINTuIDNewItem, / / menu item id of ingang naar drop-down / / menu of submenuLPCTSTRlpNewItem / / menu-item inhoud);
 

Parameters

hMnu
Ingang naar het menu worden gewijzigd.
uPosition
Hiermee geeft u het menu-item te wijzigen, zoals bepaald door de parameter uFlags.
uFlags
Specificeert de vlaggen die de interpretatie van de uPosition -parameter en de inhoud, uiterlijk en gedrag van het menu-item bepalen. Deze parameter moet een combinatie zijn van een van de volgende vereiste waarden en ten minste één van de waarden vermeld in de volgende sectie opmerkingen.
Waarde Betekenis
MF_BYCOMMAND Geeft aan dat de parameter uPosition de id van het menu-item geeft. De vlag MF_BYCOMMAND is de standaard als de MF_BYCOMMAND noch de MF_BYPOSITION vlag is opgegeven.
MF_BYPOSITION Geeft aan dat de parameter uPosition de op nul gebaseerde relatieve positie van het menu-item geeft.

uIDNewItem
Hiermee geeft u op of de id van de aangepaste menu-item of, als de parameter uFlags heeft de MF_POPUP vlag instellen, de greep naar de drop-down menu of vervolgmenu.
lpNewItem
Verwijzing naar de inhoud van het gewijzigde menu-item. De interpretatie van deze parameter hangt af van of de parameter uFlags de MF_BITMAP, MF_OWNERDRAW, of MF_STRING vlag omvat.
Waarde Betekenis
MF_BITMAP Bevat een ingang bitmap.
MF_OWNERDRAW Een 32-bits waarde geleverd door een toepassing die wordt gebruikt om aanvullende gegevens met betrekking tot het menu-item bevat. De waarde is in de itemData lid van de structuur waarnaar door de parameter lparam van de WM_MEASUREITEM of WM_DRAWITEM -berichten worden verzonden wanneer het menu-item wordt gemaakt of de weergave wordt bijgewerkt.
MF_STRING Bevat een pointer naar een op null eindigende tekenreeks (de standaardwaarde).

Retourwaarden

Als de functie slaagt, is de retourwaarde aan nul.

Als de functie mislukt, is de retourwaarde nul. Om uitgebreide foutinformatie, Bel GetLastError.

Opmerkingen

Als ModifyMenu wordt vervangen door een menu-item dat wordt geopend een drop-down menu of submenu, de functie vernietigt de oude drop-down menu of submenu en bevrijdt het geheugen gebruikt door het.

Om sneltoetsen te werken met bitmap of eigenaar getekende menu-items, moet de eigenaar van het menu het bericht WM_MENUCHAR verwerken. Owner-Drawn menu's en het bericht WM_MENUCHAR Zie voor meer informatie.

De toepassing moet de DrawMenuBar functie wanneer wijzigingen in een menu, bel of of niet het menu in een venster weergegeven is. De kenmerken van bestaande menu-items wilt wijzigen, is het veel sneller te gebruiken van de functies CheckMenuItem en EnableMenuItem.

De volgende lijst beschrijft de vlaggen die in de parameter uFlags kunnen worden ingesteld:

Waarde Betekenis
MF_BITMAP Een bitmap gebruikt als het menu-item. De parameter lpNewItem bevat de ingang voor de bitmap.
MF_BYCOMMAND Geeft aan dat de parameter uPosition de id van het menu-item (de standaardinstelling geeft).
MF_BYPOSITION Geeft aan dat de parameter uPosition de op nul gebaseerde relatieve positie van het nieuwe menu-item geeft.
MF_CHECKED Hiermee plaatst u een vinkje naast het item. Als uw toepassing biedt vinkje bitmaps (Zie de functie van SetMenuItemBitmaps ), deze vlag wordt een geselecteerde bitmap naast het menu-item weergegeven.
MF_DISABLED Het menu-item wordt uitgeschakeld, zodat u deze niet selecteren, maar deze vlag doet het niet grijs.
MF_ENABLED Laat het menu-item zodat het kan worden geselecteerd en het herstelt van zijn grijze staat.
MF_GRAYED Het menu-item wordt uitgeschakeld en het grays zodat u deze niet selecteren.
MF_MENUBARBREAK Functies hetzelfde als de MF_MENUBREAK vlag voor een menubalk. Voor een drop-down menu, submenu of snelmenu, wordt de nieuwe kolom van de oude kolom gescheiden door een verticale lijn.
MF_MENUBREAK Plaatst het item op een nieuwe regel (voor menubalken) of in een nieuwe kolom (voor een drop-down menu, submenu of snelmenu) zonder te scheiden van kolommen.
MF_OWNERDRAW Hiermee geeft u aan dat het item een item eigenaar getrokken is. Voordat het menu wordt weergegeven voor de eerste keer, ontvangt het venster dat eigenaar is van het menu een bericht van de WM_MEASUREITEM op te halen de breedte en hoogte van het menu-item. Het WM_DRAWITEM bericht is vervolgens doorgegeven aan de procedure venster van de eigenaar-venster wanneer de weergave van het menu-item moet worden bijgewerkt.
MF_POPUP Hiermee geeft u aan dat het menu-item een drop-down menu of submenu opent. De parameter uIDNewItem geeft de ingang naar het drop-down menu of submenu. Deze vlag wordt gebruikt om toe te voegen een menunaam op de menubalk of een menu-item dat wordt geopend een submenu naar een drop-down menu, submenu of snelmenu.
MF_SEPARATOR Vestigt een horizontale scheidingslijn. Deze vlag wordt alleen gebruikt in een drop-down menu, submenu of snelmenu. De regel kan niet worden grijs weergegeven, uitgeschakeld of gemarkeerd. De lpNewItem en uIDNewItem parameters worden genegeerd.
MF_STRING Hiermee geeft u aan dat het menu-item een tekenreeks is; de parameter lpNewItem wijst naar de tekenreeks.
MF_UNCHECKED Plaatst niet een vinkje naast het item (de standaardinstelling). Als uw toepassing levert vinkje bitmaps (Zie de functie van SetMenuItemBitmaps ), deze vlag wordt een niet-gecontroleerde bitmap naast het menu-item weergegeven.

De volgende groepen van vlaggen kunnen niet samen worden gebruikt:

Zie ook

Overzicht van de menu's, menufuncties, AppendMenu, CheckMenuItem, DrawMenuBar, EnableMenuItem, SetMenuItemBitmaps, SetMenuItemInfo, WM_DRAWITEM, WM_MEASUREITEM

Index