Editor nabídek (C++)
Nabídky umožňují uspořádat příkazy logickým a snadno najítelným způsobem. Pomocí Editoru nabídek můžete vytvářet a upravovat nabídky tak, že budete pracovat přímo s řádkem nabídek, který se bude podobat řádku nabídek v dokončené aplikaci.
Tip
Když používáte Editor nabídek, v mnoha případech můžete kliknutím pravým tlačítkem myši zobrazit místní nabídku často používaných příkazů. Dostupné příkazy závisí na tom, na co ukazatel ukazuje.
Postup
Editor nabídek umožňuje:
Vytvoření standardní nabídky
Přejděte do nabídky Zobrazit>zobrazení zdrojů nebo Zobrazit>jiné zobrazení prostředků systému Windows>a klikněte pravým tlačítkem myši na záhlaví nabídky. Zvolte Přidat prostředek a pak Nabídku.
Na řádku nabídek vyberte pole Nová položka (obdélník, který obsahuje typ sem).
Pole Nová položkaZadejte název nové nabídky, například Soubor.
Text, který zadáte, se zobrazí v Editoru nabídek i v poli Titulek v okně Vlastnosti. Vlastnosti nové nabídky můžete upravit v libovolném umístění.
Jakmile novou nabídku pojmenujete na řádku nabídek, pole nová položka se posune doprava (abyste mohli přidat další nabídku). Pod první nabídkou se otevře další pole nové položky, abyste do něj mohli přidat příkazy nabídky.
Pole Nová položka s fokusem posunuté po zadání názvu nabídkyPoznámka:
Pokud chcete vytvořit nabídku s jednou položkou na řádku nabídek, nastavte automaticky otevíranou vlastnost na False.
Vytvoření podnabídky
Vyberte příkaz nabídky, pro který chcete vytvořit podnabídku.
Do pole Nová položka, které se zobrazí vpravo, zadejte název nového příkazu nabídky. Tento nový příkaz se zobrazí jako první v podnabídce.
Do podnabídky přidejte další příkazy nabídky.
Vložení nové nabídky mezi existující nabídky
Vyberte název existující nabídky a stiskněte klávesu Insert nebo klikněte pravým tlačítkem na řádek nabídek a zvolte Vložit nový.
Pole Nová položka se vloží před vybranou položku.
Přidání příkazů do nabídky
Vytvořte nabídku. Pak vyberte název nabídky, například Soubor.
Každá nabídka se rozbalí a zpřístupní pole nové položky pro příkazy. Můžete například přidat příkazy Nové, Otevřít a Zavřít do nabídky Soubor .
Do pole nová položka zadejte název příkazu nové nabídky.
Poznámka:
Text, který zadáte, se zobrazí v Editoru nabídek i v poli Titulek v okně Vlastnosti. Vlastnosti nové nabídky můžete upravit v libovolném umístění.
Tip
Můžete definovat měmonic key (hot key), který uživateli umožňuje vybrat příkaz nabídky. Před písmeno zadejte ampersand (
&
) a zadejte ho jako mnemonic. Uživatel může vybrat příkaz nabídky zadáním daného dopisu.V okně Vlastnosti vyberte vlastnosti příkazu nabídky, které platí. Podrobnosti naleznete v části Vlastnosti příkazu nabídky.
Do pole Výzva v okně Vlastnosti zadejte řetězec výzvy, který se má zobrazit ve stavovém řádku vaší aplikace.
Tento krok vytvoří položku v řetězcové tabulce se stejným identifikátorem prostředku jako příkaz nabídky, který jste vytvořili.
Poznámka:
Výzvy lze použít pouze u položek nabídky s místní vlastností True. Například položky nabídky nejvyšší úrovně můžou obsahovat výzvy, pokud mají položky dílčí nabídky. Účelem výzvy je indikovat, co se stane, když uživatel vybere položku nabídky.
Stisknutím klávesy Enter dokončete příkaz nabídky.
Pole nová položka je vybrané, abyste mohli vytvořit další příkazy nabídky.
Výběr více příkazů nabídky ke spuštění hromadných operací, jako je odstranění nebo změna vlastností
Podržte stisknutou klávesu Ctrl a vyberte požadované nabídky nebo podnabídky.
Přesunutí a kopírování nabídek a příkazů nabídky
Použijte metodu přetažení:
Přetáhněte nebo zkopírujte položku, na kterou chcete přejít:
Nové umístění v aktuální nabídce.
Jiná nabídka. Do jiných nabídek můžete přejít přetažením ukazatele myši na ně.
Příkaz nabídky přetáhněte, když vodítko pro vložení zobrazuje požadovanou pozici.
Použijte příkazy místní nabídky:
Klikněte pravým tlačítkem myši na jednu nebo více nabídek nebo příkazů nabídky a pak zvolte Vyjmout (přesunout) nebo Kopírovat.
Pokud přesouváte položky do jiného prostředku nabídky nebo souboru skriptu prostředku, otevřete je v jiném okně.
Vyberte umístění nabídky nebo příkazu nabídky, do které chcete přesunout nebo zkopírovat.
V místní nabídce zvolte Vložit. Přesunutá nebo zkopírovaná položka se umístí před položku, kterou vyberete.
Poznámka:
Můžete také přetáhnout, zkopírovat a vložit do jiných nabídek v jiných oknech nabídek.
Odstranění nabídky nebo příkazu nabídky
Klikněte pravým tlačítkem myši na název nabídky nebo příkaz a zvolte Odstranit.
Poznámka:
Podobně můžete pomocí místní nabídky provádět další akce, jako je Kopírování, Vyjmout, Vložit, Vložit nový, Vložit oddělovač, Upravit ID, Zobrazit jako automaticky otevírané okno, Zkontrolovat Mnemonics atd.
Místní nabídky
Místní nabídky zobrazují často používané příkazy . Mohou být kontextově citlivé na umístění ukazatele. Použití automaticky otevíraných nabídek ve vaší aplikaci vyžaduje vytvoření samotné nabídky a následné připojení k kódu aplikace.
Jakmile prostředek nabídky vytvoříte, kód aplikace musí načíst prostředek nabídky a použít TrackPopupMenu k tomu, aby se nabídka zobrazila . Jakmile uživatel místní nabídku zavře, vybere ji mimo ni nebo vybere příkaz, vrátí se tato funkce. Pokud uživatel zvolí příkaz, odešle se tato zpráva příkazu do okna, jehož popisovač byl předán.
Poznámka:
Pro programy knihovny MFC (Microsoft Foundation Class) a programy KNIHOVNY ATL použijte Průvodce kódem k připojení příkazů nabídky k kódu. Další informace najdete v tématu Přidání události a mapování zpráv do funkcí.
Pokud chcete vytvořit místní nabídku, vytvořte nabídku s prázdným názvem a nezadávejte titulek. Potom do nové nabídky přidejte příkaz nabídky. Přejděte na první příkaz nabídky pod prázdným názvem nabídky (má dočasný popisek Sem) a zadejte titulek a všechny další informace.
Tento postup opakujte pro všechny další příkazy nabídky v místní nabídce a nezapomeňte uložit prostředek nabídky.
Pokud chcete k aplikaci připojit místní nabídku, přidejte například obslužnou rutinu zprávy pro WM_CONTEXTMENU a pak do obslužné rutiny zprávy přidejte následující kód:
CMenu menu; VERIFY(menu.LoadMenu(IDR_MENU1)); CMenu* pPopup = menu.GetSubMenu(0); ASSERT(pPopup != NULL); pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, AfxGetMainWnd());
Při práci v Editoru nabídek se obvykle jako řádek nabídek zobrazí prostředek nabídky. Můžete ale mít prostředky nabídek, které se při spuštění programu přidají do řádku nabídek aplikace.
Pokud chcete prostředek nabídky zobrazit jako místní nabídku, klikněte pravým tlačítkem myši na nabídku a zvolte Zobrazit jako místní nabídku.
Tato možnost je jenom předvolba zobrazení a nezmění vaši nabídku.
Tip
Pokud chcete přejít zpět do zobrazení řádku nabídek, znovu vyberte Zobrazit jako překryvné okno . Tato akce odebere značku zaškrtnutí a vrátí zobrazení řádku nabídek.
Požadavky
Win32
Viz také
Editory prostředků
Příkazy nabídky
Identifikátory objektů uživatelského rozhraní a příkazů
Nabídky
Nabídky