Sdílet prostřednictvím


CMenu::ModifyMenu

Změní existující položky nabídky na pozici určenou nPosition .

BOOL ModifyMenu( 
   UINT nPosition, 
   UINT nFlags, 
   UINT_PTR nIDNewItem = 0, 
   LPCTSTR lpszNewItem = NULL  
); 
BOOL ModifyMenu( 
   UINT nPosition, 
   UINT nFlags, 
   UINT_PTR nIDNewItem, 
   const CBitmap* pBmp  
);

Parametry

  • nPosition
    Určuje položku nabídky, který chcete změnit. nFlags Parametru lze interpretovat nPosition následujícími způsoby:

    nFlags

    Výklad nPosition

    MF_BYCOMMAND

    Určuje, že parametr poskytuje ID příkazu existující položky nabídky.Toto je výchozí, pokud ani MF_BYCOMMAND ani MF_BYPOSITION je nastavena.

    MF_BYPOSITION

    Určuje, že parametr dává pozice existující položku nabídky.První položka je na pozici 0.

  • nFlags
    Určuje, jak nPosition je interpretována a poskytuje informace o změny položky nabídky.Seznam příznaků, které může nastavit naleznete AppendMenu členské funkce.

  • nIDNewItem
    Určuje ID příkazu upravenou položku nebo pokud nFlags je nastavena na MF_POPUP, popisovač nabídky (HMENU) z rozbalovací nabídky. nIDNewItem Parametr je ignorován (potřeby) nFlags je nastavena na MF_SEPARATOR.

  • lpszNewItem
    Určuje obsah nové položky nabídky. nFlags Parametru lze interpretovat lpszNewItem následujícími způsoby:

    nFlags

    Výklad lpszNewItem

    MF_OWNERDRAW

    Obsahuje aplikace dodané hodnotu 32 bit, aplikace můžete spravovat další data přidružená k položce nabídky.Tato 32bitová hodnota je k dispozici aplikace při zpracování MF_MEASUREITEM a MF_DRAWITEM.

    MF_STRING

    Obsahuje dlouhý řetězec zakončený hodnotou null nebo na ukazatel CString .

    MF_SEPARATOR

    lpszNewItem Parametr je ignorován (není nutný).

  • pBmp
    Odkazuje CBitmap objekt, který bude použit jako položky nabídky.

Vrácená hodnota

Nenulová hodnota, pokud je tato funkce úspěšná. jinak 0.

Poznámky

Aplikace určuje nový stav položky nabídky nastavením hodnot v nFlags .Tato funkce nahrazuje rozbalovací nabídky přidružené k položce nabídky, ničí se staré rozbalovací nabídky a uvolní paměť použitá v rozbalovací nabídce.

Při nIDNewItem určuje rozbalovací nabídky, stane se součástí nabídky, ve které je vložen.Pokud nabídku zničení, budou také vložené nabídky zničena.Vložené nabídky by odpojili od CMenu objektu, aby se zabránilo konfliktu.

Vždy, když je nabídka, která nachází v okně se změní (zda je zobrazen v okně), aplikace by měla zavolat CWnd::DrawMenuBar .Chcete-li změnit atributy existující položky nabídky, je mnohem rychlejší použít CheckMenuItem a EnableMenuItem funkce členů.

Příklad

Příklad pro CMenu::InsertMenu.

Požadavky

Záhlaví: afxwin.h

Viz také

Referenční dokumentace

Třída CMenu

Graf hierarchie

CMenu::AppendMenu

CMenu::InsertMenu

CMenu::CheckMenuItem

CWnd::DrawMenuBar

CMenu::EnableMenuItem

CMenu::SetMenuItemBitmaps

CMenu::Detach

ModifyMenu