Sdílet prostřednictvím


CMenu::AppendMenu

Přidá novou položku konec nabídky.

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

Parametry

  • nFlags
    Určuje informace o stavu nové položky nabídky je přidána do nabídky.Skládá se z jedné nebo více hodnot uvedených v části poznámky.

  • nIDNewItem
    Určuje ID příkazu nové položky nabídky nebo v případě 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 Parametr slouží k interpretaci lpszNewItem následujícím způsobem:

    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í WM_MEASUREITEM a WM_DRAWITEM zprávy.Hodnota je uložena v itemData člen struktury dodávaných se zprávami.

    MF_STRING

    Obsahuje ukazatel na řetězec zakončený hodnotou null.Toto je výchozí výkladu.

    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 můžete určit stav položky nabídky nastavením hodnot v nFlags .Při nIDNewItem určuje rozbalovací nabídky, stane se součástí nabídky, ke kterému je připojena.Pokud nabídku zničení, budou také připojené nabídky zničena.Připojené nabídky by odpojen od CMenu objektu, aby se zabránilo konfliktu.Všimněte si, že MF_STRING a MF_OWNERDRAW nejsou platné pro bitmapové verze AppendMenu .

Následující seznam popisuje příznaky, které mohou být nastaveny v nFlags :

  • MF_CHECKED funguje jako přepínací s MF_UNCHECKED umístit výchozí zaškrtnutí položky.Při aplikaci dodává zaškrtněte políčko bitmapy (viz SetMenuItemBitmaps členské funkce), "v zaškrtnutí" rastrový obrázek zobrazen.

  • MF_UNCHECKED funguje jako přepínací s MF_CHECKED zaškrtnutí položky odebrat.Při použití dodává zaškrtněte políčko bitmapy (viz SetMenuItemBitmaps členské funkce), "zaškrtněte políčko Vypnout" rastrový obrázek zobrazen.

  • MF_DISABLED tak, že nelze vybrat, ale nikoli dim jej zakáže položky nabídky.

  • MF_ENABLEDUmožňuje položky nabídky, takže lze vybrat a obnoví ze stavu šedě.

  • MF_GRAYED zakáže položky nabídky tak, aby jej ztlumí a nemůže být vybrán.

  • MF_MENUBARBREAK zboží umístí na nový řádek ve statické nabídky nebo v novém sloupci v rozbalovacích nabídkách.Nový sloupec rozbalovací nabídky budou ze staré sloupce odděleny svislé dělicí čáry.

  • MF_MENUBREAK zboží umístí na nový řádek ve statické nabídky nebo v novém sloupci v rozbalovacích nabídkách.Umístěna žádná dělící čára mezi sloupci.

  • MF_OWNERDRAWUrčuje, že položka překreslování položky.Při prvním zobrazení v nabídce okno, který vlastní nabídky obdrží WM_MEASUREITEM zprávy, která načte výška a šířka položky nabídky. WM_DRAWITEM Zpráva je odesílána vlastník musí aktualizovat vzhled položky nabídky.Tato možnost není platná pro položku nabídky nejvyšší úrovně.

  • MF_POPUP Určuje, že má položka nabídky rozbalovací nabídky přidružena.Parametr ID Určuje popisovač rozbalovací nabídky, která má být k položce.Používá se k přidání rozbalovací nabídku nejvyšší úrovně nebo hierarchické rozbalovací nabídky k položce rozbalovací nabídky.

  • MF_SEPARATOR nakreslí vodorovné dělicí čáry.Lze použít pouze v rozbalovací nabídce.Tento řádek nelze šedě, zakázán nebo zvýrazněny.Ostatní parametry ignorovány.

  • MF_STRING Určuje, že položka nabídky je řetězec znaků.

Každá z těchto skupin jsou uvedeny příznaky, které se vzájemně vylučují a nelze použít společně:

  • MF_DISABLED, MF_ENABLED , a MF_GRAYED

  • MF_STRING, MF_OWNERDRAW , MF_SEPARATORa bitmapové verze

  • MF_MENUBARBREAK a MF_MENUBREAK

  • MF_CHECKED a MF_UNCHECKED

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.

Příklad

Příklad pro CMenu::CreateMenu.

Požadavky

Záhlaví: afxwin.h

Viz také

Referenční dokumentace

Třída CMenu

Diagram hierarchie

CWnd::DrawMenuBar

CMenu::InsertMenu

CMenu::RemoveMenu

CMenu::SetMenuItemBitmaps

CMenu::Detach

AppendMenu