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);
| 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. |
| 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). |
Als de functie slaagt, is de retourwaarde aan nul.
Als de functie mislukt, is de retourwaarde nul. Om uitgebreide foutinformatie, Bel GetLastError.
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:
Overzicht van de menu's, menufuncties, AppendMenu, CheckMenuItem, DrawMenuBar, EnableMenuItem, SetMenuItemBitmaps, SetMenuItemInfo, WM_DRAWITEM, WM_MEASUREITEM