Sdílet prostřednictvím


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

Objekt CObject

CCmdTarget

Cwnd

CFrameWnd

CMiniFrameWnd

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

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.

Viz také

Graf hierarchie
Třídy
CMFCPopupMenuBar – třída