CMFCPopupMenu – třída
Implementuje funkce místní nabídky Systému Windows a rozšiřuje ji přidáním funkcí, jako jsou nabídky pro odtržení a popisy. Další podrobnosti najdete ve zdrojovém kódu ve složce VC\atlmfc\src\mfc instalace sady Visual Studio.
Syntaxe
class CMFCPopupMenu : public CMiniFrameWnd
Členové
Chráněné konstruktory
Jméno | popis |
---|---|
CMFCPopupMenu::CMFCPopupMenu | CMFCPopupMenu Vytvoří objekt. |
Veřejné metody
Jméno | popis |
---|---|
CMFCPopupMenu::ActivatePopupMenu | |
CMFCPopupMenu::AlwaysShowEmptyToolsEntry | Nastaví, zda je povolena místní nabídka pro zobrazení prázdných položek pro uživatelem definované nástroje. |
CMFCPopupMenu::AreAllCommandsShown | |
CMFCPopupMenu::CheckArea | Určuje umístění bodu vzhledem k místní nabídce. |
CMFCPopupMenu::CloseMenu | |
CMFCPopupMenu::Create | Vytvoří místní nabídku a připojí ji k objektu CMFCPopupMenu . |
CMFCPopupMenu::D efaultMouseClickOnClose | |
CMFCPopupMenu::EnableMenuLogo | Inicializuje logo pro místní nabídku. |
CMFCPopupMenu::EnableMenuSound | Povolí zvuk nabídky. |
CMFCPopupMenu::EnableResize | |
CMFCPopupMenu::EnableScrolling | |
CMFCPopupMenu::EnableVertResize | |
CMFCPopupMenu::FindSubItemByCommand | |
CMFCPopupMenu::GetActiveMenu | Vrátí aktuálně aktivní nabídku. |
CMFCPopupMenu::GetAnimationSpeed | Vrátí rychlost animace pro místní nabídky. |
CMFCPopupMenu::GetAnimationType | Vrátí aktuální typ animace místní nabídky. |
CMFCPopupMenu::GetDropDirection | |
CMFCPopupMenu::GetForceMenuFocus | Určuje, jestli se fokus vrátí do řádku nabídek, když se zobrazí místní nabídka. |
CMFCPopupMenu::GetForceShadow | |
CMFCPopupMenu::GetHMenu | Vrátí popisovač připojenému prostředku nabídky. |
CMFCPopupMenu::GetMenuBar | Vrátí CMFCPopupMenuBar vložený uvnitř místní nabídky. |
CMFCPopupMenu::GetMenuItem | Vrátí ukazatel na položku nabídky v zadaném indexu. |
CMFCPopupMenu::GetMenuItemCount | Vrátí počet položek v místní nabídce. |
CMFCPopupMenu::GetMessageWnd | Vrátí ukazatel na okno, ve kterém architektura směruje zprávy místní nabídky. |
CMFCPopupMenu::GetParentArea | |
CMFCPopupMenu::GetParentButton | Vrátí ukazatel na tlačítko nadřazeného panelu nástrojů. |
CMFCPopupMenu::GetParentPopupMenu | Vrátí ukazatel na nadřazenou místní nabídku. |
CMFCPopupMenu::GetParentRibbonElement | |
CMFCPopupMenu::GetParentToolBar | Vrátí ukazatel na nadřazený panel nástrojů. |
CMFCPopupMenu::GetQuickCustomizeType | |
CMFCPopupMenu::GetSelItem | Vrátí ukazatel na aktuálně vybraný příkaz nabídky. |
CMFCPopupMenu::HasBeenResized | |
CMFCPopupMenu::HideRarelyUsedCommands | Určuje, jestli místní nabídka může skrýt zřídka používané příkazy. |
CMFCPopupMenu::InCommand | |
CMFCPopupMenu::InsertItem | Vloží novou položku do místní nabídky v zadaném umístění. |
CMFCPopupMenu::InsertSeparator | Vloží oddělovač do místní nabídky v zadaném umístění. |
CMFCPopupMenu::IsAlwaysClose | |
CMFCPopupMenu::IsAlwaysShowEmptyToolsEntry | |
CMFCPopupMenu::IsCustomizePane | Určuje, zda místní nabídka funguje jako QuickCustomizePane. |
CMFCPopupMenu::IsEscClose | |
CMFCPopupMenu::IsIdle | Určuje, jestli je místní nabídka momentálně nečinná. |
CMFCPopupMenu::IsMenuSound | |
CMFCPopupMenu::IsQuickCustomize | Určuje, zda přidružená CMFCToolBarMenuButton Třída je v režimu QuickCustomize. |
CMFCPopupMenu::IsResizeble | |
CMFCPopupMenu::IsRightAlign | Určuje, jestli je nabídka zarovnaná doprava nebo doleva. |
CMFCPopupMenu::IsScrollable | |
CMFCPopupMenu::IsSendMenuSelectMsg | Určuje, zda architektura upozorní nadřazený rámec, když uživatel vybere příkaz z místní nabídky. |
CMFCPopupMenu::IsShown | Určuje, jestli je místní nabídka aktuálně viditelná. |
CMFCPopupMenu::MoveTo | |
CMFCPopupMenu::OnCmdMsg | (Přepsání CFrameWnd::OnCmdMsg .) |
CMFCPopupMenu::P ostCommand | |
CMFCPopupMenu::P reTranslateMessage | (Přepsání CFrameWnd::PreTranslateMessage .) |
CMFCPopupMenu::RecalcLayout | Volá se podle architektury, když jsou standardní řídicí pruhy zapnuté nebo vypnuté nebo když je okno rámečku změněno. (Přepsání CFrameWnd::RecalcLayout.) |
CMFCPopupMenu::RemoveAllItems | Vymaže všechny položky z místní nabídky. |
CMFCPopupMenu::RemoveItem | Odebere zadanou položku z místní nabídky. |
CMFCPopupMenu::SaveState | |
CMFCPopupMenu::SetAnimationSpeed | Nastaví rychlost animace pro místní nabídky. |
CMFCPopupMenu::SetAnimationType | Nastaví typ animace pro místní nabídku. |
CMFCPopupMenu::SetAutoDestroy | |
CMFCPopupMenu::SetDefaultItem | Nastaví výchozí příkaz pro místní nabídku. |
CMFCPopupMenu::SetForceMenuFocus | Při zobrazení místní nabídky vynutí, aby se fokus vstupu vrátil na řádek nabídek. |
CMFCPopupMenu::SetForceShadow | Při zobrazení automaticky otevíraných nabídek mimo hlavní rámec vynutí architekturu kreslit stíny nabídek. |
CMFCPopupMenu::SetMaxWidth | Nastavte maximální šířku místní nabídky. |
CMFCPopupMenu::SetMessageWnd | |
CMFCPopupMenu::SetParentRibbonElement | |
CMFCPopupMenu::SetQuickCustomizeType | |
CMFCPopupMenu::SetQuickMode | |
CMFCPopupMenu::SetRightAlign | Nastaví zarovnání nabídky pro místní nabídky. |
CMFCPopupMenu::SetSendMenuSelectMsg | Nastaví příznak, který určuje, jestli místní nabídka upozorní nadřazený rámec, když uživatel vybere příkaz. |
CMFCPopupMenu::ShowAllCommands | Vynutí, aby se v místní nabídce zobrazily všechny příkazy. |
CMFCPopupMenu::TriggerResize | |
CMFCPopupMenu::UpdateAllShadows | Aktualizace stíny pro všechny otevřené místní nabídky. |
CMFCPopupMenu::UpdateShadow | Aktualizace stín místní nabídky. |
Chráněné metody
Jméno | popis |
---|---|
CMFCPopupMenu::CreateTearOffBar | |
CMFCPopupMenu::OnChangeHot | |
CMFCPopupMenu::OnChooseItem |
Poznámky
Prostředí MFC obvykle vytváří automaticky místní nabídky. Pokud chcete vytvořit CMFCPopupMenu
objekt ručně, přidělte ho na haldě a pak zavolejte CMFCPopupMenu::Create.
Příklad
Následující příklad ukazuje, jak nakonfigurovat objekt místní nabídky. Příklad ukazuje, jak nastavit logo a zvuk místní nabídky, nastavit rychlost a typ animace, kreslit stíny nabídek, když se místní nabídka zobrazí mimo hlavní rámeček, nastavit maximální šířku a nastavit zarovnání pravé nabídky místní nabídky. Tento fragment kódu je součástí ukázky vlastních stránek.
// 30 is the size of the logo in pixels.
pPopupMenu->EnableMenuLogo(30);
pPopupMenu->EnableMenuSound();
// 500 is the animation speed in milliseconds.
pPopupMenu->SetAnimationSpeed(500);
pPopupMenu->SetAnimationType(CMFCPopupMenu::SLIDE);
pPopupMenu->SetForceShadow(true);
// 200 is the maximum width of the pop-up menu in pixels.
pPopupMenu->SetMaxWidth(200);
pPopupMenu->SetRightAlign();
pPopupMenu->InsertSeparator();
Hierarchie dědičnosti
CMFCPopupMenu
Požadavky
Hlavička: afxpopupmenu.h
CMFCPopupMenu::ActivatePopupMenu
static BOOL __stdcall ActivatePopupMenu(
CFrameWnd* pTopFrame,
CMFCPopupMenu* pPopupMenu);
Parametry
[v] pTopFrame
[v] pPopupMenu
Vrácená hodnota
Poznámky
CMFCPopupMenu::AlwaysShowEmptyToolsEntry
Nastaví, zda je povolena místní nabídka pro zobrazení prázdných položek pro uživatelem definované nástroje.
static void AlwaysShowEmptyToolsEntry(BOOL bShow = TRUE);
Parametry
BShow
[v] TRUE, pokud místní nabídka může zobrazit prázdné položky; JINAK NEPRAVDA.
CMFCPopupMenu::AreAllCommandsShown
BOOL AreAllCommandsShown() const;
Vrácená hodnota
Poznámky
CMFCPopupMenu::CheckArea
Určuje umístění bodu vzhledem k místní nabídce.
MENUAREA_TYPE CheckArea(const CPoint& ptScreen) const;
Parametry
ptScreen
[v] Bod v souřadnicích obrazovky.
Vrácená hodnota
Parametr MENUAREA_TYPE, který označuje, kde je bod relativní vzhledem k místní nabídce.
Poznámky
Parametr MENUAREA_TYPE může mít některou z následujících hodnot.
VNĚJŠÍ – ptScreen je mimo místní nabídku.
LOGO – ptScreen je přes oblast s logem.
TEAROFF_CAPTION – ptScreen je přes popis odtrhání.
SHADOW_BOTTOM – ptScreen je přes dolní stín místní nabídky.
SHADOW_RIGHT – ptScreen je přes pravý stín místní nabídky.
MENU - ptScreen je přes příkaz.
CMFCPopupMenu::CloseMenu
void CloseMenu(BOOL bSetFocusToBar = FALSE);
Parametry
[v] bSetFocusToBar
Poznámky
CMFCPopupMenu::CMFCPopupMenu
Vytvoří CMFCPopupMenu objektu.
CMFCPopupMenu(
CMFCToolBarsMenuPropertyPage* pCustPage,
LPCTSTR lpszTitle);
Parametry
pCustPage
[v] Ukazatel na stránku vlastního nastavení
lpszTitle
[v] Řetězec, který obsahuje nabídku popis.
Poznámky
Tato metoda přiděluje prostředky pro .CMFCPopupMenu
Chcete-li vytvořit položku místní nabídky, zavolejte CMFCPopupMenu::Create.
CMFCPopupMenu::Create
Vytvoří místní nabídku a připojí ji k objektu CMFCPopupMenu .
virtual BOOL Create(
CWnd* pWndParent,
int x,
int y,
HMENU hMenu,
BOOL bLocked = FALSE,
BOOL bOwnMessage = FALSE);
Parametry
pWndParent
[v] Nadřazené okno pro objekt CMFCPopupMenu
.
X
[v] Souřadnice vodorovné obrazovky pro umístění místní nabídky
Y
[v] Souřadnice svislé obrazovky pro umístění místní nabídky.
hMenu
[v] Popisovač prostředku nabídky.
Blokován
[v] Logický parametr, který označuje, jestli je nabídka přizpůsobitelná. FALSE označuje, že místní nabídka je přizpůsobitelná.
bOwnMessage
[v] Logický parametr, který označuje, jak architektura směruje zprávy nabídky. Další podrobnosti najdete v části Poznámky.
Vrácená hodnota
TRUE, pokud je metoda úspěšná; jinak NEPRAVDA.
Poznámky
Pokud bOwnMessage je TRUE, architektura směruje všechny zprávy nabídky do pWndParent. PWndParent nesmí být NULL, pokud bOwnMessage je TRUE. Pokud bOwnMessage je FALSE, architektura směruje zprávy nabídky do nadřazené místní nabídky.
Příklad
Následující příklad ukazuje, jak použít Create
metodu CMFCPopuMenu
třídy. Tento fragment kódu je součástí ukázky vlastních stránek.
CMFCPopupMenu *pPopupMenu = new CMFCPopupMenu;
// CPoint point
// CMenu* pPopup
// The this pointer points to CMainFrame class which extends the CFrameWnd class.
pPopupMenu->Create(this, point.x, point.y, pPopup->Detach());
CMFCPopupMenu::CreateTearOffBar
virtual CPane* CreateTearOffBar(
CFrameWnd* pWndMain,
UINT uiID,
LPCTSTR lpszName);
Parametry
[v] pWndMain
[v] UIID
[v] lpszName
Vrácená hodnota
Poznámky
CMFCPopupMenu::D efaultMouseClickOnClose
virtual BOOL DefaultMouseClickOnClose() const;
Vrácená hodnota
Poznámky
CMFCPopupMenu::EnableMenuLogo
Inicializuje logo pro místní nabídku.
void EnableMenuLogo(
int iLogoSize,
LOGO_LOCATION nLogoLocation = MENU_LOGO_LEFT);
Parametry
iLogoSize
[v] Velikost loga v pixelech.
nLogoLocation
[v] Výčtový datový typ, který označuje umístění loga.
Poznámky
Chcete-li zobrazit logo, implementujte metodu CFrameWndEx::OnDrawMenuLogo v okně hlavního rámce.
Možné hodnoty pro nLogoLocation jsou MENU_LOGO_LEFT, MENU_LOGO_RIGHT, MENU_LOGO_TOP a MENU_LOGO_BOTTOM.
CMFCPopupMenu::EnableMenuSound
Povolí zvuk nabídky.
static void EnableMenuSound(BOOL bEnable = TRUE);
Parametry
bEnable
[v] Hodnota TRUE povolí zvuk, jinak NEPRAVDA.
Poznámky
Pokud povolíte zvuk, rozhraní volá metodu PlaySound , když uživatel otevře místní nabídku nebo vybere příkaz nabídky. Ve výchozím nastavení je tato funkce povolená.
CMFCPopupMenu::EnableResize
void EnableResize(CSize sizeMinResize);
Parametry
[v] sizeMinResize
Poznámky
CMFCPopupMenu::EnableScrolling
void EnableScrolling(BOOL = TRUE);
Parametry
[v] BOOL
Poznámky
CMFCPopupMenu::EnableVertResize
void EnableVertResize(int nMinResize);
Parametry
[v] nMinResize
Poznámky
CMFCPopupMenu::FindSubItemByCommand
CMFCToolBarMenuButton* FindSubItemByCommand(UINT uiCmd) const;
Parametry
[v] uiCmd
Vrácená hodnota
Poznámky
CMFCPopupMenu::GetActiveMenu
Vrátí aktuálně aktivní nabídku.
static CMFCPopupMenu* GetActiveMenu();
Vrácená hodnota
Ukazatel na aktivní místní nabídku nebo null, pokud není aktuálně aktivní žádná místní nabídka.
Poznámky
Každá aplikace může mít maximálně jednu aktivní místní nabídku.
CMFCPopupMenu::GetAnimationSpeed
Vrátí rychlost animace pro místní nabídky.
static UINT GetAnimationSpeed();
Vrácená hodnota
Celé číslo, které označuje čas v milisekundách, že dokončení animace místní nabídky trvá.
Poznámky
Rychlost animace je globální hodnota. Ke změně rychlosti animace pro místní nabídky použijte CMFCPopupMenu::SetAnimationSpeed .
CMFCPopupMenu::GetAnimationType
Vrátí aktuální typ automaticky otevírané animace.
static CMFCPopupMenu::ANIMATION_TYPE GetAnimationType(BOOL bNoSystem = FALSE);
Parametry
bNoSystem
[v] Logický parametr, který označuje, zda tato metoda kontroluje globální hodnotu. NEPRAVDA, pokud chcete tuto metodu vrátit styl animace pro tuto instanci CMFCPopupMenu Třída.
Vrácená hodnota
Výčtová hodnota, která popisuje typ animace.
Poznámky
Styl animace pro místní nabídky je pro vaši aplikaci globální. K nastavení stylu animace použijte CMFCPopupMenu::SetAnimationType .
Následující tabulka uvádí možné typy animací.
Hodnota | popis |
---|---|
NO_ANIMATION | Místní nabídka není animovaná a zobrazí se okamžitě. |
ROZVINOUT | Architektura odhalí místní nabídku z levého horního rohu do pravého dolního rohu. |
SNÍMEK | Místní nabídka se přesune shora dolů. |
FADE | Automaticky otevíraná nabídka se nejprve zobrazí jako průhledná a postupně ztužuje. |
CMFCPopupMenu::GetDropDirection
DROP_DIRECTION GetDropDirection() const;
Vrácená hodnota
Poznámky
CMFCPopupMenu::GetForceMenuFocus
Určuje, jestli se fokus vrátí do řádku nabídek, když se zobrazí místní nabídka.
static BOOL GetForceMenuFocus();
Vrácená hodnota
TRUE, pokud je vstupní fokus vrácen do řádku nabídek při zobrazení místní nabídky; NEPRAVDA, pokud místní nabídka zachová fokus.
Poznámky
Ve výchozím nastavení aplikace nevrátí fokus na řádek nabídek. Chcete-li toto nastavení změnit, použijte CMFCPopupMenu::SetForceMenuFocus.
CMFCPopupMenu::GetForceShadow
static BOOL __stdcall GetForceShadow();
Vrácená hodnota
Poznámky
CMFCPopupMenu::GetHMenu
Vrátí popisovač připojenému prostředku nabídky.
HMENU GetHMenu();
CMFCPopupMenu::GetMenuBar
Vrátí CMFCPopupMenuBar vložený uvnitř místní nabídky.
virtual CMFCPopupMenuBar* GetMenuBar();
Vrácená hodnota
Ukazatel na vložený CMFCPopupMenuBar
.
Poznámky
Místní nabídka obsahuje vložený CMFCPopupMenuBar
objekt. Tuto metodu je nutné přepsat v odvozené třídě, pokud používáte jinou vloženou třídu.
CMFCPopupMenu::GetMenuItem
Vrátí ukazatel na položku nabídky v zadaném indexu.
CMFCToolBarMenuButton* GetMenuItem(int iIndex) const;
Parametry
iIndex
[v] Index položky nabídky založený na nule.
Vrácená hodnota
Ukazatel na položku nabídky Hodnota NULL, pokud je index neplatný.
Poznámky
Položky nabídky jsou reprezentovány CMFCToolBarMenuButton Třída. Při volání této metody vrátí ukazatel na odpovídající CMFCToolBarMenuButton
.
CMFCPopupMenu::GetMenuItemCount
Vrátí počet položek v místní nabídce.
int GetMenuItemCount() const;
Vrácená hodnota
Počet položek v nabídce
CMFCPopupMenu::GetMessageWnd
Vrátí ukazatel na okno, ve kterém architektura směruje zprávy místní nabídky.
CWnd* GetMessageWnd() const;
Vrácená hodnota
Ukazatel na okno, které přijímá zprávy místní nabídky; Null, pokud neexistuje žádné okno.
Poznámky
Když použijete metodu CMFCPopupMenu::Create k vytvoření místní nabídky, určíte, jaké okno obdrží zprávy nabídky.
CMFCPopupMenu::GetParentArea
virtual CWnd* GetParentArea(CRect& rectParentBtn);
Parametry
[v] rectParentBtn
Vrácená hodnota
Poznámky
CMFCPopupMenu::GetParentButton
Vrátí ukazatel na tlačítko nadřazeného panelu nástrojů.
CMFCToolBarMenuButton* GetParentButton() const;
Vrácená hodnota
Ukazatel na tlačítko nadřazeného panelu nástrojů NULL, pokud místní nabídka nemá žádné nadřazené tlačítko panelu nástrojů.
Poznámky
A CMFCPopupMenu
lze přidružit k tlačítku v nabídce. V tomto scénáři se zobrazí místní nabídka, když uživatel vybere tlačítko nadřazeného panelu nástrojů.
Pokud je místní nabídka místní nabídka, nebude mít tlačítko nadřazeného panelu nástrojů.
CMFCPopupMenu::GetParentPopupMenu
Vrátí ukazatel na nadřazenou místní nabídku.
CMFCPopupMenu* GetParentPopupMenu() const;
Vrácená hodnota
Ukazatel na nadřazený CMFCPopupMenu
objekt; Null, pokud neexistuje žádná nadřazená místní nabídka.
Poznámky
Místní nabídka obsahuje nadřazený CMFCPopupMenu
objekt pouze v případě, že se jedná o podnabídku.
CMFCPopupMenu::GetParentRibbonElement
CMFCRibbonBaseElement* GetParentRibbonElement() const;
Vrácená hodnota
Poznámky
CMFCPopupMenu::GetParentToolBar
Vrátí ukazatel na nadřazený panel nástrojů.
CMFCToolBar* GetParentToolBar() const;
Vrácená hodnota
Ukazatel na nadřazený panel nástrojů Null, pokud místní nabídka nemá žádný nadřazený panel nástrojů.
Poznámky
Pokud je místní CMFCPopupMenu
nabídka, nemá žádný nadřazený panel nástrojů.
CMFCPopupMenu::GetQuickCustomizeType
QUICK_CUSTOMIZE_TYPE GetQuickCustomizeType() const;
Vrácená hodnota
Poznámky
CMFCPopupMenu::GetSelItem
Vrátí ukazatel na aktuálně vybraný příkaz nabídky.
CMFCToolBarMenuButton* GetSelItem();
Vrácená hodnota
Ukazatel na aktuálně vybraný příkaz nabídky; Null, pokud není vybrána žádná položka.
Poznámky
Příkazy nabídky v místní nabídce jsou reprezentovány CMFCToolBarMenuButton Třídy, nebo třídy odvozené z CMFCToolBarMenuButton
.
CMFCPopupMenu::HasBeenResized
BOOL HasBeenResized() const;
Vrácená hodnota
Poznámky
CMFCPopupMenu::HideRarelyUsedCommands
Určuje, jestli místní nabídka může skrýt zřídka používané příkazy.
BOOL HideRarelyUsedCommands() const;
Vrácená hodnota
TRUE, pokud místní nabídka může skrýt zřídka používané příkazy; jinak NEPRAVDA.
Poznámky
Tato metoda určuje pouze to, zda místní nabídka může skrýt zřídka používané příkazy, ne pokud je tato konfigurace povolena. Místní nabídka může skrýt zřídka používané příkazy, pokud má nadřazené tlačítko a nadřazené okno je odvozeno z CMFCMenuBar Třída. Pomocí CMFCMenuBar::SetRecentlyUsedMenus povolte tuto funkci a CMFCMenuBar::IsRecentlyUsedMenus určit, jestli je tato funkce aktuálně povolená. Obě tyto metody musíte volat pro nadřazené okno.
CMFCPopupMenu::InCommand
virtual BOOL InCommand();
Vrácená hodnota
Poznámky
CMFCPopupMenu::InsertItem
Vloží novou položku do místní nabídky v zadaném umístění.
int InsertItem(
const CMFCToolBarMenuButton& button,
int iInsertA = -1);
Parametry
Tlačítko
[v] Odkaz na položku nabídky, kterou chcete přidat.
iInsertAt
[v] Index založený na nule pro novou položku. Pokud je iInsertAt -1, položka se přidá na konec nabídky.
Vrácená hodnota
Index založený na nule pozice, do které byla položka vložena. -1, pokud metoda selže.
Poznámky
Tato metoda selže, pokud zadáte neplatnou hodnotu pro iInsertAt, například celé číslo větší než počet položek aktuálně v místní nabídce.
CMFCPopupMenu::InsertSeparator
Vloží oddělovač do místní nabídky v zadaném umístění.
int InsertSeparator(int iInsertAt = -1);
Parametry
iInsertAt
[v] Index založený na nule pozice, kde tato metoda vloží oddělovač.
Vrácená hodnota
Index založený na nule pozice, kam byl vložen oddělovač. -1, pokud tato metoda selže.
Poznámky
Hodnota -1 pro iInsertAt znamená, že tato metoda přidá oddělovač na konec místní nabídky.
Tato metoda selže, pokud iInsertAt je neplatná hodnota.
CMFCPopupMenu::IsAlwaysClose
virtual BOOL IsAlwaysClose() const;
Vrácená hodnota
Poznámky
CMFCPopupMenu::IsAlwaysShowEmptyToolsEntry
static BOOL __stdcall IsAlwaysShowEmptyToolsEntry();
Vrácená hodnota
Poznámky
CMFCPopupMenu::IsCustomizePane
Určuje, zda místní nabídka funguje jako QuickCustomizePane.
BOOL IsCustomizePane();
Vrácená hodnota
TRUE, pokud je automaticky otevírané okno QuckCustomizePane; jinak FALSE.
Poznámky
Pomocí panelu QuickCustomizePane umožníte uživateli přímo přizpůsobit místní nabídku. QuickCustomizePane jeCMFCPopupMenu
, který se zobrazí, když uživatel klikne na tlačítko panelu nástrojů a upraví ho přímo.
Aplikace by měla tuto metodu volat během CMDIFrameWndEx::OnShowCustomizePane.
CMFCPopupMenu::IsEscClose
BOOL IsEscClose();
Vrácená hodnota
Poznámky
CMFCPopupMenu::IsIdle
Určuje, jestli je místní nabídka momentálně nečinná.
virtual BOOL IsIdle() const;
Vrácená hodnota
TRUE, pokud místní nabídka je v nečinném režimu; jinak NEPRAVDA.
Poznámky
Ve výchozím nastavení je místní nabídka v nečinném režimu, pokud je animace zobrazení dokončená a uživatel neposouvá místní nabídku.
CMFCPopupMenu::IsMenuSound
static UINT __stdcall IsMenuSound();
Vrácená hodnota
Poznámky
CMFCPopupMenu::IsQuickCustomize
Určuje, zda přidružená CMFCToolBarMenuButton Třída je v režimu QuickCustomize.
BOOL IsQuickCustomize();
Vrácená hodnota
TRUE, pokud přidružené tlačítko nabídky je v režimu QuickCustomize; jinak NEPRAVDA. Tato metoda také vrátí HODNOTU FALSE, pokud místní nabídka není přidružena k CMFCToolBarMenuButton
.
Poznámky
V režimu QuickCustomize uživatel vybere tlačítko na panelu nástrojů, aby tlačítko přizpůsobil přímo.
CMFCPopupMenu::IsResizeble
BOOL IsResizeble() const;
Vrácená hodnota
Poznámky
CMFCPopupMenu::IsRightAlign
Určuje, jestli je nabídka zarovnaná doprava nebo doleva.
BOOL IsRightAlign() const;
Vrácená hodnota
TRUE, pokud je nabídka zarovnaná doprava; NEPRAVDA, pokud je nabídka zarovnaná doleva.
Poznámky
K nastavení zarovnání nabídky můžete použít CMFCPopupMenu::SetRightAlign . Ve výchozím nastavení místní nabídky používají zarovnání doleva.
Zarovnání nabídky není globální nastavení a může se lišit mezi místními nabídkami.
CMFCPopupMenu::IsScrollable
BOOL IsScrollable() const;
Vrácená hodnota
Poznámky
CMFCPopupMenu::IsSendMenuSelectMsg
Určuje, zda architektura upozorní nadřazený rámec, když uživatel vybere příkaz z místní nabídky.
static BOOL IsSendMenuSelectMsg();
Vrácená hodnota
TRUE, pokud architektura oznámí nadřazený rámec; jinak NEPRAVDA.
Poznámky
Architektura upozorní nadřazený rámec odesláním zprávy WM_MENUSELECT při výběru příkazu nabídky.
CMFCPopupMenu::IsShown
Určuje, jestli je místní nabídka aktuálně viditelná.
BOOL IsShown() const;
Vrácená hodnota
TRUE, pokud je zobrazena místní nabídka; jinak NEPRAVDA.
CMFCPopupMenu::MoveTo
void MoveTo(const CPoint& pt);
Parametry
[v] Pt
Poznámky
CMFCPopupMenu::OnChangeHot
virtual void OnChangeHot(int nHot);
Parametry
[v] nHot
Poznámky
CMFCPopupMenu::OnChooseItem
virtual void OnChooseItem(UINT uidCmdID);
Parametry
[v] uidCmdID
Poznámky
CMFCPopupMenu::OnCmdMsg
virtual BOOL OnCmdMsg(
UINT nID,
int nCode,
void* pExtra,
AFX_CMDHANDLERINFO* pHandlerInfo);
Parametry
[v] Nid
[v] nCode
[v] pExtra
[v] pHandlerInfo
Vrácená hodnota
Poznámky
CMFCPopupMenu::P ostCommand
BOOL PostCommand(UINT uiCommandID);
Parametry
[v] uiCommandID
Vrácená hodnota
Poznámky
CMFCPopupMenu::P reTranslateMessage
virtual BOOL PreTranslateMessage(MSG* pMsg);
Parametry
[v] pMsg
Vrácená hodnota
Poznámky
CMFCPopupMenu::RecalcLayout
virtual void RecalcLayout(BOOL bNotify = TRUE);
Parametry
[v] bNotify
Poznámky
CMFCPopupMenu::RemoveAllItems
Vymaže všechny položky z místní nabídky.
void RemoveAllItems();
CMFCPopupMenu::RemoveItem
Odebere zadanou položku z místní nabídky.
BOOL RemoveItem(int iIndex);
Parametry
iIndex
[v] Index položky založený na nule, který chcete odstranit.
Vrácená hodnota
TRUE, pokud je metoda úspěšná; jinak NEPRAVDA.
Poznámky
Tato metoda automaticky uspořádá všechny oddělovače, které jsou ovlivněny odebráním položky. Další informace o tom, jak architektura přeuspořádá oddělovače, naleznete v tématu CMFCToolBar::RemoveButton.
CMFCPopupMenu::SaveState
virtual void SaveState();
Poznámky
CMFCPopupMenu::SetAnimationSpeed
Nastaví rychlost animace pro místní nabídky.
static void SetAnimationSpeed(UINT nElapse);
Parametry
nElapse
[v] Nová rychlost animace v milisekundách.
Poznámky
Rychlost animace je globální hodnota a ovlivňuje všechny místní nabídky v aplikaci. Tato hodnota určuje, jak dlouho trvá, než se animace dokončí v místní nabídce.
Ve výchozím nastavení je tento parametr nastaven na 30 milisekund. Rozsah platných hodnot pro nElapse je od 0 do 200.
CMFCPopupMenu::SetAnimationType
Nastaví typ animace pro tuto místní nabídku.
static void SetAnimationType(CMFCPopupMenu::ANIMATION_TYPE type);
Parametry
type
[v] Výčtový datový typ, který určuje typ animace.
Poznámky
Seznam platných hodnot pro typ najdete v tématu CMFCPopupMenu::GetAnimationType.
CMFCPopupMenu::SetAutoDestroy
void SetAutoDestroy(BOOL bAutoDestroy = TRUE);
Parametry
[v] bAutoDestroy
Poznámky
CMFCPopupMenu::SetDefaultItem
Nastaví výchozí příkaz pro místní nabídku.
void SetDefaultItem(UINT uiCmd);
Parametry
uiCmd
[v] ID příkazu nabídky nového výchozího příkazu.
Poznámky
Výchozí příkaz v místní nabídce je příkaz, který je vybrán při zobrazení místní nabídky.
CMFCPopupMenu::SetForceMenuFocus
Při zobrazení místní nabídky vynutí, aby se fokus vstupu vrátil na řádek nabídek.
static void SetForceMenuFocus(BOOL bValue);
Parametry
bValue
[v] TRUE, pokud chcete, aby architektura při zobrazení místní nabídky vynutila vstupní fokus na řádek nabídek. NEPRAVDA, pokud chcete, aby se fokus zachoval v místní nabídce.
Poznámky
Tato metoda nastaví příznak, který je globální pro všechny místní nabídky v aplikaci. Ve výchozím nastavení není tato funkce povolená.
CMFCPopupMenu::SetForceShadow
Při zobrazení automaticky otevíraných nabídek mimo hlavní rámec vynutí architekturu kreslit stíny nabídek.
static void SetForceShadow(BOOL bValue);
Parametry
bValue
[v] TRUE, pokud chcete, aby architektura kreslila stíny nabídek, jinak NEPRAVDA.
Poznámky
Při volání této metody nastaví globální příznak ve vaší aplikaci. Tento příznak má vliv na všechny místní nabídky ve vaší aplikaci.
CMFCPopupMenu::SetMaxWidth
Nastavte maximální šířku místní nabídky.
void SetMaxWidth(int iMaxWidth);
Parametry
iMaxWidth
[v] Maximální šířka místní nabídky v pixelech.
Poznámky
Pokud se text přidružený k příkazu nabídky nevejde do maximální šířky, zkrátí se a část, která se nevejde, se nahradí třemi tečkami.
CMFCPopupMenu::SetMessageWnd
void SetMessageWnd(CWnd* pMsgWnd);
Parametry
[v] pMsgWnd
Poznámky
CMFCPopupMenu::SetParentRibbonElement
void SetParentRibbonElement(CMFCRibbonBaseElement* pElem);
Parametry
[v] pElem
Poznámky
CMFCPopupMenu::SetQuickCustomizeType
void SetQuickCustomizeType(QUICK_CUSTOMIZE_TYPE Type);
Parametry
[v] Typ
Poznámky
CMFCPopupMenu::SetQuickMode
void SetQuickMode();
Poznámky
CMFCPopupMenu::SetRightAlign
Nastaví zarovnání nabídky pro místní nabídky.
void SetRightAlign(BOOL bRightAlign = TRUE);
Parametry
bRightAlign
[v] Logická hodnota označující zarovnání nabídky. PRAVDA označuje zarovnání doprava, NEPRAVDA označuje zarovnání doleva.
Poznámky
Ve výchozím nastavení jsou všechny místní nabídky zarovnané doleva.
CMFCPopupMenu::SetSendMenuSelectMsg
Nastaví příznak, který určuje, jestli místní nabídka upozorní nadřazený rámec, když uživatel vybere příkaz.
static void SetSendMenuSelectMsg(BOOL bSet = TRUE);
Parametry
bSet
[v] TRUE, pokud místní nabídka upozorní nadřazený rámec, false jinak.
Poznámky
Toto je globální možnost pro všechny místní nabídky v aplikaci. Pokud je tato možnost povolená, automaticky otevírané nabídky po výběru příkazu odešlou do nadřazeného rámce zprávu WM_MENUSELECT.
CMFCPopupMenu::ShowAllCommands
Vynutí, aby se v místní nabídce zobrazily všechny příkazy.
void ShowAllCommands();
Poznámky
Toto není globální nastavení a ovlivňuje pouze aktuální místní nabídku.
CMFCPopupMenu::TriggerResize
void TriggerResize();
Poznámky
CMFCPopupMenu::UpdateAllShadows
Aktualizace stíny pro všechny otevřené místní nabídky.
static void UpdateAllShadows(LPRECT lprectScreen = NULL);
Parametry
Obrazovka lprectScreen
[v] Obdélník, který určuje oblast, která se má aktualizovat, v souřadnicích obrazovky.
Poznámky
Tato metoda je užitečná, když se místní nabídky zobrazí přes animované ovládací prvky nebo jiná okna s dynamickým obsahem.
CMFCPopupMenu::UpdateShadow
Aktualizace stín místní nabídky.
void UpdateShadow(LPRECT lprectScreen = NULL);
Parametry
Obrazovka lprectScreen
[v] Obdélník v souřadnicích obrazovky, který určuje hranice oblasti, která se má aktualizovat.
Poznámky
Volání této metody, když místní nabídka, která má stín překrývat animovaný obrázek.