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