ModifyMenu funkcia zmení existujúcu položku ponuky. Táto funkcia sa používa na určenie obsahu, vzhľad a správanie v menu.
ModifyMenu funkcia nebola nahradená funkciu SetMenuItemInfo . Naďalej môžete používať ModifyMenu, avšak ak nepotrebujete žiadne rozšírené funkcie SetMenuItemInfo.
BOOL ModifyMenu ( HMENU hMnu; / / zvládnuť menuUINTuPosition; / / ponuky položku UpraviťUINTuFlags; / / flags položka ponukyUINTuIDNewItem; / ponuke položka identifikátor alebo zvládnuť kvapka-down / / ponuka alebo vedľajšia ponukaLPCTSTRlpNewItem / / ponuke položka obsahu);
| Hodnota | Význam |
|---|---|
| MF_BYCOMMAND | Označuje, že uPosition parameter dáva identifikátor položky ponuky. MF_BYCOMMAND vlajkou je predvolené, ak je určená ani MF_BYCOMMAND, ani MF_BYPOSITION vlajky. |
| MF_BYPOSITION | Označuje, že uPosition parameter dáva zero-based relatívnej pozícii položiek ponuky. |
| Hodnota | Význam |
|---|---|
| MF_BITMAP | Obsahuje bitovú mapu rukoväť. |
| MF_OWNERDRAW | Obsahuje 32-bitovú hodnotu poskytnutých aplikácia, ktorá sa pou??va na udr?iavanie dodatočné údaje týkajúce sa položka ponuky. Hodnota člena itemData štruktúry poukázal na lparam parameter WM_MEASUREITEM alebo WM_DRAWITEM správy odoslané pri vytvorení položky ponuky alebo aktualizovať jej vzhľad. |
| MF_STRING | Obsahuje ukazovateľ na reťazec zakončený (predvolené). |
Ak funkciu podarí, vrátená hodnota je nenulové.
Ak funkcia zlyhá, vrátená hodnota je nula. Ak chcete získať rozšírené informácie o chybách, volajte GetLastError.
Ak ModifyMenu nahrádza položku ponuky, otvorí sa rozbaľovacia ponuka alebo vedľajšia ponuka, funkcia ničí staré rozbaľovacej ponuky alebo vedľajšej ponuky a uvoľní pamäť použitá programom je.
Aby klávesové skratky na prácu s bitová mapa alebo položky vlastník ťahané menu, vlastník menu proces WM_MENUCHAR správy. Ďalšie informácie nájdete Owner-Drawn menu a WM_MENUCHAR správu.
Žiadosť musí volať funkciu DrawMenuBar vždy, keď sa ponuka zmeny, či v ponuke je zobrazené Vokne. Ak chcete zmeniť atribúty existujúce položky menu, je oveľa rýchlejšie je použitie funkcie CheckMenuItem a EnableMenuItem.
Nasledujúci zoznam popisuje príznaky, ktoré môžu byť stanovené v parametri uFlags:
| Hodnota | Význam |
|---|---|
| MF_BITMAP | Použije bitovú mapu ako položka ponuky. LpNewItem parameter obsahuje rúčka bitovej mapy. |
| MF_BYCOMMAND | Označuje, že uPosition parameter určuje identifikátor položky ponuky (predvolené). |
| MF_BYPOSITION | Označuje, že uPosition parameter určuje zero-based polohu novú položku menu. |
| MF_CHECKED | Umiestni začiarknutie vedľa položky. Ak vaša aplikácia poskytuje začiarknutia bitové mapy (pozri funkciu SetMenuItemBitmaps ), táto vlajka zobrazí zapísanej bitová mapa vedľa položky ponuky. |
| MF_DISABLED | Vypne položka ponuky tak, že ho nie je možné vybrať, ale táto vlajka nie sivý. |
| MF_ENABLED | Umožňuje položka ponuky tak, že môžu byť vybraté a obnoví zo stavu šedej. |
| MF_GRAYED | Vypne položka ponuky a grays tak, že ho nie je možné vybrať. |
| MF_MENUBARBREAK | Funkcie rovnaká ako MF_MENUBREAK vlajka na panel s ponukami. Pre kvapka-down menu, vedľajšia ponuka alebo kontextovú ponuku, zvislá čiara nový stĺpec oddelený od starej stĺpec. |
| MF_MENUBREAK | Umiestni príslušný prvok na nový riadok (na paneli s ponukami) alebo do nového stĺpca (pre kvapka-down menu, vedľajšia ponuka alebo kontextovú ponuku) bez oddelenie stĺpcov. |
| MF_OWNERDRAW | Určuje, že položka je ťahané vlastníkom tovaru. Predtým, ako prvýkrát je zobrazená ponuka, okno, ktoré vlastní v ponuke dostane správu WM_MEASUREITEM získavať šírka a výška položku ponuky. WM_DRAWITEM správa potom odosiela okno postup vlastník okno kedykoľvek vzhľad položka ponuky sa musia aktualizovať. |
| MF_POPUP | Určuje, že položka ponuky otvorí rozbaľovacej ponuky alebo vedľajšej ponuky. UIDNewItem parameter Určuje popisovač rozbaľovacej ponuky alebo vedľajšej ponuky. Táto vlajka je používaná pridať názov ponuky na paneli ponuky alebo na položku ponuky, ktoré sa otvorí vedľajšia ponuka kvapka-down menu, vedľajšia ponuka alebo kontextovú ponuku. |
| MF_SEPARATOR | Nakreslí horizontálne deliaca čiara. Táto vlajka je používaná iba v kvapka-down menu, vedľajšia ponuka alebo v kontextovej ponuke. Riadok nemožno sivý, vypnutá alebo zvýraznené. LpNewItem a uIDNewItem parametre sú ignorované. |
| MF_STRING | Určuje, že položka ponuky je textový reťazec; lpNewItem parameter poukazuje na reťazec. |
| MF_UNCHECKED | Nenachádzal znak začiarknutia vedľa položky (predvolené). Ak vašu žiadosť dodávok začiarknutia bitové mapy (pozri funkciu SetMenuItemBitmaps ), táto vlajka zobrazí nezapísanú bitová mapa vedľa položky ponuky. |
Nasledovné skupiny vlajok nemôžu používať spoločne:
Ponuky prehľad funkcií Menu, AppendMenu, CheckMenuItem, DrawMenuBar, EnableMenuItem, SetMenuItemBitmaps, SetMenuItemInfo, WM_DRAWITEM, WM_MEASUREITEM