Udostępnij za pośrednictwem


Klasa CMFCPopupMenu

Implementuje funkcje menu podręcznego systemu Windows i rozszerza je, dodając funkcje, takie jak menu odrętywania i etykietki narzędzi. Aby uzyskać więcej informacji, zobacz kod źródłowy znajdujący się w folderze VC\atlmfc\src\mfc instalacji programu Visual Studio.

Składnia

class CMFCPopupMenu : public CMiniFrameWnd

Członkowie

Konstruktory chronione

Nazwa/nazwisko opis
CMFCPopupMenu::CMFCPopupMenu CMFCPopupMenu Tworzy obiekt.

Metody publiczne

Nazwa/nazwisko opis
CMFCPopupMenu::ActivatePopupMenu
CMFCPopupMenu::AlwaysShowEmptyToolsEntry Ustawia, czy jest włączone menu podręczne, aby wyświetlić puste wpisy dla narzędzi zdefiniowanych przez użytkownika.
CMFCPopupMenu::AreAllCommandsShown
CMFCPopupMenu::CheckArea Określa lokalizację punktu względem menu podręcznego.
CMFCPopupMenu::CloseMenu
CMFCPopupMenu::Create Tworzy menu podręczne i dołącza go do CMFCPopupMenu obiektu.
CMFCPopupMenu::D efaultMouseClickOnClose
CMFCPopupMenu::EnableMenuLogo Inicjuje logo menu podręcznego.
CMFCPopupMenu::EnableMenuSound Włącza dźwięk menu.
CMFCPopupMenu::EnableResize
CMFCPopupMenu::EnableScrolling
CMFCPopupMenu::EnableVertResize
CMFCPopupMenu::FindSubItemByCommand
CMFCPopupMenu::GetActiveMenu Zwraca aktualnie aktywne menu.
CMFCPopupMenu::GetAnimationSpeed Zwraca szybkość animacji dla wyskakujących menu.
CMFCPopupMenu::GetAnimationType Zwraca bieżący typ animacji menu podręcznego.
CMFCPopupMenu::GetDropDirection
CMFCPopupMenu::GetForceMenuFocus Wskazuje, czy fokus jest zwracany na pasek menu po wyświetleniu menu podręcznego.
CMFCPopupMenu::GetForceShadow
CMFCPopupMenu::GetHMenu Zwraca uchwyt do dołączonego zasobu menu.
CMFCPopupMenu::GetMenuBar Zwraca element CMFCPopupMenuBar osadzony w menu podręcznym.
CMFCPopupMenu::GetMenuItem Zwraca wskaźnik do elementu menu w określonym indeksie.
CMFCPopupMenu::GetMenuItemCount Zwraca liczbę elementów w menu podręcznym.
CMFCPopupMenu::GetMessageWnd Zwraca wskaźnik do okna, w którym platforma kieruje komunikaty menu podręcznego.
CMFCPopupMenu::GetParentArea
CMFCPopupMenu::GetParentButton Zwraca wskaźnik do przycisku nadrzędnego paska narzędzi.
CMFCPopupMenu::GetParentPopupMenu Zwraca wskaźnik do menu podręcznego nadrzędnego.
CMFCPopupMenu::GetParentRibbonElement
CMFCPopupMenu::GetParentToolBar Zwraca wskaźnik do nadrzędnego paska narzędzi.
CMFCPopupMenu::GetQuickCustomizeType
CMFCPopupMenu::GetSelItem Zwraca wskaźnik do aktualnie wybranego polecenia menu.
CMFCPopupMenu::HasBeenResized
CMFCPopupMenu::HideRarelyUsedCommands Wskazuje, czy menu podręczne może ukrywać rzadko używane polecenia.
CMFCPopupMenu::InCommand
CMFCPopupMenu::InsertItem Wstawia nowy element do menu podręcznego w określonej lokalizacji.
CMFCPopupMenu::InsertSeparator Wstawia separator do menu podręcznego w określonej lokalizacji.
CMFCPopupMenu::IsAlwaysClose
CMFCPopupMenu::IsAlwaysShowEmptyToolsEntry
CMFCPopupMenu::IsCustomizePane Wskazuje, czy menu podręczne działa jako QuickCustomizePane.
CMFCPopupMenu::IsEscClose
CMFCPopupMenu::IsIdle Wskazuje, czy menu podręczne jest obecnie bezczynne.
CMFCPopupMenu::IsMenuSound
CMFCPopupMenu::IsQuickCustomize Określa, czy skojarzona klasa CMFCToolBarMenuButton jest w trybie QuickCustomize.
CMFCPopupMenu::IsResizeble
CMFCPopupMenu::IsRightAlign Wskazuje, czy menu jest wyrównane do prawej, czy wyrównane do lewej.
CMFCPopupMenu::IsScrollable
CMFCPopupMenu::IsSendMenuSelectMsg Wskazuje, czy struktura powiadamia ramkę nadrzędną, gdy użytkownik wybierze polecenie z menu podręcznego.
CMFCPopupMenu::IsShown Wskazuje, czy menu podręczne jest obecnie widoczne.
CMFCPopupMenu::MoveTo
CMFCPopupMenu::OnCmdMsg (Przesłania CFrameWnd::OnCmdMsg).
CMFCPopupMenu::P ostCommand
CMFCPopupMenu::P reTranslateMessage (Przesłania CFrameWnd::PreTranslateMessage).
CMFCPopupMenu::RecalcLayout Wywoływana przez platformę, gdy standardowe paski sterowania są włączane lub wyłączane lub gdy okno ramki jest zmieniane. (Przesłonięcia) CFrameWnd::RecalcLayout).
CMFCPopupMenu::RemoveAllItems Czyści wszystkie elementy z menu podręcznego.
CMFCPopupMenu::RemoveItem Usuwa określony element z menu podręcznego.
CMFCPopupMenu::SaveState
CMFCPopupMenu::SetAnimationSpeed Ustawia szybkość animacji dla wyskakujących menu.
CMFCPopupMenu::SetAnimationType Ustawia typ animacji dla menu podręcznego.
CMFCPopupMenu::SetAutoDestroy
CMFCPopupMenu::SetDefaultItem Ustawia domyślne polecenie dla menu podręcznego.
CMFCPopupMenu::SetForceMenuFocus Wymusza zwrócenie fokusu wejściowego na pasku menu po wyświetleniu menu podręcznego.
CMFCPopupMenu::SetForceShadow Wymusza rysowanie cieni menu po wyświetleniu wyskakujących menu poza ramką główną.
CMFCPopupMenu::SetMaxWidth Ustaw maksymalną szerokość menu podręcznego.
CMFCPopupMenu::SetMessageWnd
CMFCPopupMenu::SetParentRibbonElement
CMFCPopupMenu::SetQuickCustomizeType
CMFCPopupMenu::SetQuickMode
CMFCPopupMenu::SetRightAlign Ustawia wyrównanie menu dla menu podręcznych.
CMFCPopupMenu::SetSendMenuSelectMsg Ustawia flagę, która określa, czy menu podręczne powiadamia ramkę nadrzędną, gdy użytkownik wybierze polecenie.
CMFCPopupMenu::ShowAllCommands Wymusza wyskakujące menu, aby wyświetlić wszystkie polecenia.
CMFCPopupMenu::TriggerResize
CMFCPopupMenu::UpdateAllShadows Aktualizacje cienie dla wszystkich otwartych wyskakujących menu.
CMFCPopupMenu::UpdateShadow Aktualizacje cień menu podręcznego.

Metody chronione

Nazwa/nazwisko opis
CMFCPopupMenu::CreateTearOffBar
CMFCPopupMenu::OnChangeHot
CMFCPopupMenu::OnChooseItem

Uwagi

Zwykle MFC automatycznie tworzy wyskakujące menu. Jeśli chcesz ręcznie utworzyć CMFCPopupMenu obiekt, przydziel go na stercie, a następnie wywołaj polecenie CMFCPopupMenu::Create.

Przykład

W poniższym przykładzie pokazano, jak skonfigurować obiekt menu podręcznego. W przykładzie pokazano, jak ustawić logo i dźwięk wyskakującego menu, ustawić szybkość i typ animacji, narysować cienie menu, gdy menu podręczne pojawi się poza ramką główną, ustawić maksymalną szerokość i ustawić wyrównanie menu po prawej stronie menu podręcznego. Ten fragment kodu jest częścią przykładu Custom Pages.

// 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();

Hierarchia dziedziczenia

Cobject

Ccmdtarget

Cwnd

Cframewnd

CMiniFrameWnd

CMFCPopupMenu

Wymagania

Nagłówek: afxpopupmenu.h

CMFCPopupMenu::ActivatePopupMenu

static BOOL __stdcall ActivatePopupMenu(
    CFrameWnd* pTopFrame,
    CMFCPopupMenu* pPopupMenu);

Parametry

[in] pTopFrame
[in] pPopupMenu

Wartość zwracana

Uwagi

CMFCPopupMenu::AlwaysShowEmptyToolsEntry

Ustawia, czy jest włączone menu podręczne, aby wyświetlić puste wpisy dla narzędzi zdefiniowanych przez użytkownika.

static void AlwaysShowEmptyToolsEntry(BOOL bShow = TRUE);

Parametry

bShow
[in] Wartość TRUE, jeśli menu podręczne może wyświetlać puste wpisy; FAŁSZ w przeciwnym razie.

CMFCPopupMenu::AreAllCommandsShown

BOOL AreAllCommandsShown() const;

Wartość zwracana

Uwagi

CMFCPopupMenu::CheckArea

Określa lokalizację punktu względem menu podręcznego.

MENUAREA_TYPE CheckArea(const CPoint& ptScreen) const;

Parametry

ptScreen
[in] Punkt na współrzędnych ekranu.

Wartość zwracana

Parametr MENUAREA_TYPE wskazujący, gdzie punkt jest względny do menu podręcznego.

Uwagi

Parametr MENUAREA_TYPE może mieć dowolną z następujących wartości.

  • OUTSIDE — ekran ptScreen znajduje się poza menu podręcznym.

  • LOGO — ekran ptScreen znajduje się nad obszarem logo.

  • TEAROFF_CAPTION — ekran ptScreen jest ponad podpis odrętą.

  • SHADOW_BOTTOM — ekran ptScreen znajduje się nad dolnym cieniem wyskakującego menu.

  • SHADOW_RIGHT — ekran ptScreen znajduje się w prawym cieniu menu podręcznego.

  • MENU — ekran ptScreen jest wyświetlany za pomocą polecenia.

CMFCPopupMenu::CloseMenu

void CloseMenu(BOOL bSetFocusToBar = FALSE);

Parametry

[in] bSetFocusToBar

Uwagi

CMFCPopupMenu::CMFCPopupMenu

Tworzy obiekt CMFCPopupMenu.

CMFCPopupMenu(
    CMFCToolBarsMenuPropertyPage* pCustPage,
    LPCTSTR lpszTitle);

Parametry

pCustPage
[in] Wskaźnik do strony dostosowywania.

lpszTitle
[in] Ciąg zawierający podpis menu.

Uwagi

Ta metoda przydziela zasoby dla elementu CMFCPopupMenu. Aby utworzyć element menu podręcznego, wywołaj metodę CMFCPopupMenu::Create.

CMFCPopupMenu::Create

Tworzy menu podręczne i dołącza go do obiektu CMFCPopupMenu .

virtual BOOL Create(
    CWnd* pWndParent,
    int x,
    int y,
    HMENU hMenu,
    BOOL bLocked = FALSE,
    BOOL bOwnMessage = FALSE);

Parametry

pWndParent
[in] Okno nadrzędne dla elementu CMFCPopupMenu.

X
[in] Współrzędna ekranu poziomego dla lokalizacji menu podręcznego

Y
[in] Współrzędna ekranu pionowego dla lokalizacji menu podręcznego.

Hmenu
[in] Uchwyt do zasobu menu.

Zablokowany
[in] Parametr logiczny wskazujący, czy menu można dostosowywać. FAŁSZ wskazuje, że menu podręczne można dostosowywać.

bOwnMessage
[in] Parametr logiczny wskazujący sposób kierowania komunikatów menu przez platformę. Aby uzyskać więcej informacji, zobacz sekcję Uwagi.

Wartość zwracana

Wartość TRUE, jeśli metoda zakończyła się pomyślnie; w przeciwnym razie FAŁSZ.

Uwagi

Jeśli wartość bOwnMessage ma wartość TRUE, platforma kieruje komunikaty menu do elementu pWndParent. Parametr pWndParent nie może mieć wartości NULL, jeśli wartość bOwnMessage ma wartość TRUE. Jeśli bOwnMessage ma wartość FALSE, platforma kieruje komunikaty menu do nadrzędnego menu podręcznego.

Przykład

W poniższym przykładzie pokazano, jak używać Create metody CMFCPopuMenu klasy . Ten fragment kodu jest częścią przykładu Custom Pages.

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

[in] pWndMain
[in] Uiid
[in] Lpszname

Wartość zwracana

Uwagi

CMFCPopupMenu::D efaultMouseClickOnClose

virtual BOOL DefaultMouseClickOnClose() const;

Wartość zwracana

Uwagi

Inicjuje logo menu podręcznego.

void EnableMenuLogo(
    int iLogoSize,
    LOGO_LOCATION nLogoLocation = MENU_LOGO_LEFT);

Parametry

iLogoSize
[in] Rozmiar logo w pikselach.

nLogoLocation
[in] Wyliczony typ danych wskazujący lokalizację logo.

Uwagi

Aby wyświetlić logo, zaimplementuj metodę CFrameWndEx::OnDrawMenuLogo w oknie głównym ramki.

Możliwe wartości parametru nLogoLocation to MENU_LOGO_LEFT, MENU_LOGO_RIGHT, MENU_LOGO_TOP i MENU_LOGO_BOTTOM.

CMFCPopupMenu::EnableMenuSound

Włącza dźwięk menu.

static void EnableMenuSound(BOOL bEnable = TRUE);

Parametry

bEnable
[in] Wartość TRUE, aby włączyć dźwięk, w przeciwnym razie fałsz.

Uwagi

Jeśli włączysz dźwięk, platforma wywołuje metodę PlaySound , gdy użytkownik otworzy menu podręczne lub wybierze polecenie menu. Domyślnie ta funkcja jest włączona.

CMFCPopupMenu::EnableResize

void EnableResize(CSize sizeMinResize);

Parametry

[in] sizeMinResize

Uwagi

CMFCPopupMenu::EnableScrolling

void EnableScrolling(BOOL = TRUE);

Parametry

[in] BOOL

Uwagi

CMFCPopupMenu::EnableVertResize

void EnableVertResize(int nMinResize);

Parametry

[in] nMinResize

Uwagi

CMFCPopupMenu::FindSubItemByCommand

CMFCToolBarMenuButton* FindSubItemByCommand(UINT uiCmd) const;

Parametry

[in] Uicmd

Wartość zwracana

Uwagi

CMFCPopupMenu::GetActiveMenu

Zwraca aktualnie aktywne menu.

static CMFCPopupMenu* GetActiveMenu();

Wartość zwracana

Wskaźnik do aktywnego menu podręcznego lub wartość NULL, jeśli menu podręczne nie jest obecnie aktywne.

Uwagi

Każda aplikacja może mieć co najwyżej jedno aktywne menu podręczne.

CMFCPopupMenu::GetAnimationSpeed

Zwraca szybkość animacji dla wyskakujących menu.

static UINT GetAnimationSpeed();

Wartość zwracana

Liczba całkowita wskazująca czas (w milisekundach) czas potrzebny na zakończenie animacji menu podręcznego.

Uwagi

Szybkość animacji jest wartością globalną. Użyj polecenia CMFCPopupMenu::SetAnimationSpeed , aby zmienić szybkość animacji dla wyskakujących menu.

CMFCPopupMenu::GetAnimationType

Zwraca bieżący typ animacji podręcznej.

static CMFCPopupMenu::ANIMATION_TYPE GetAnimationType(BOOL bNoSystem = FALSE);

Parametry

bNoSystem
[in] Parametr logiczny wskazujący, czy ta metoda sprawdza wartość globalną. FALSE, jeśli chcesz, aby ta metoda zwróciła styl animacji dla tego wystąpienia klasy CMFCPopupMenu.

Wartość zwracana

Wyliczona wartość, która opisuje typ animacji.

Uwagi

Styl animacji dla wyskakujących menu jest globalny dla aplikacji. Użyj polecenia CMFCPopupMenu::SetAnimationType , aby ustawić styl animacji.

W poniższej tabeli wymieniono możliwe typy animacji.

Wartość Opis
NO_ANIMATION Menu podręczne nie jest animowane i pojawia się natychmiast.
ROZWIJAĆ Platforma wyświetla menu podręczne z lewego górnego rogu do prawego dolnego rogu.
SLAJD Menu podręczne przechodzi od góry do dołu.
FADE Menu podręczne po raz pierwszy pojawia się przezroczyste i stopniowo utrwaliwuje.

CMFCPopupMenu::GetDropDirection

DROP_DIRECTION GetDropDirection() const;

Wartość zwracana

Uwagi

CMFCPopupMenu::GetForceMenuFocus

Wskazuje, czy fokus jest zwracany na pasek menu po wyświetleniu menu podręcznego.

static BOOL GetForceMenuFocus();

Wartość zwracana

WARTOŚĆ TRUE, jeśli fokus danych wejściowych jest zwracany na pasku menu po wyświetleniu menu podręcznego; FAŁSZ, jeśli menu podręczne zachowuje fokus.

Uwagi

Domyślnie aplikacja nie zwraca fokusu na pasku menu. Aby zmienić to ustawienie, użyj polecenia CMFCPopupMenu::SetForceMenuFocus.

CMFCPopupMenu::GetForceShadow

static BOOL __stdcall GetForceShadow();

Wartość zwracana

Uwagi

CMFCPopupMenu::GetHMenu

Zwraca uchwyt do dołączonego zasobu menu.

HMENU GetHMenu();

CMFCPopupMenu::GetMenuBar

Zwraca element CMFCPopupMenuBar osadzony w menu podręcznym.

virtual CMFCPopupMenuBar* GetMenuBar();

Wartość zwracana

Wskaźnik do osadzonego CMFCPopupMenuBar.

Uwagi

Menu podręczne zawiera obiekt osadzony CMFCPopupMenuBar . Tę metodę należy zastąpić w klasie pochodnej, jeśli używasz innej osadzonej klasy.

CMFCPopupMenu::GetMenuItem

Zwraca wskaźnik do elementu menu w określonym indeksie.

CMFCToolBarMenuButton* GetMenuItem(int iIndex) const;

Parametry

Iindex
[in] Indeks oparty na zera elementu menu.

Wartość zwracana

Wskaźnik do elementu menu. Wartość NULL, jeśli indeks jest nieprawidłowy.

Uwagi

Elementy menu są reprezentowane przez klasę CMFCToolBarMenuButton. Podczas wywoływania tej metody zwraca wskaźnik do odpowiedniego CMFCToolBarMenuButtonelementu .

CMFCPopupMenu::GetMenuItemCount

Zwraca liczbę elementów w menu podręcznym.

int GetMenuItemCount() const;

Wartość zwracana

Liczba elementów w menu.

CMFCPopupMenu::GetMessageWnd

Zwraca wskaźnik do okna, w którym platforma kieruje komunikaty menu podręcznego.

CWnd* GetMessageWnd() const;

Wartość zwracana

Wskaźnik do okna, w którym są odbierane komunikaty z menu podręcznego; Wartość NULL, jeśli nie ma okna.

Uwagi

W przypadku użycia metody CMFCPopupMenu::Create w celu utworzenia menu podręcznego należy określić, które okno odbiera komunikaty menu.

CMFCPopupMenu::GetParentArea

virtual CWnd* GetParentArea(CRect& rectParentBtn);

Parametry

[in] rectParentBtn

Wartość zwracana

Uwagi

CMFCPopupMenu::GetParentButton

Zwraca wskaźnik do przycisku nadrzędnego paska narzędzi.

CMFCToolBarMenuButton* GetParentButton() const;

Wartość zwracana

Wskaźnik do przycisku nadrzędnego paska narzędzi. Wartość NULL, jeśli menu podręczne nie ma przycisku nadrzędnego paska narzędzi.

Uwagi

Element CMFCPopupMenu może być skojarzony z przyciskiem w menu. W tym scenariuszu zostanie wyświetlone menu podręczne, gdy użytkownik wybierze przycisk nadrzędnego paska narzędzi.

Jeśli menu podręczne jest menu skrótów, nie będzie miał przycisku nadrzędnego paska narzędzi.

CMFCPopupMenu::GetParentPopupMenu

Zwraca wskaźnik do menu podręcznego nadrzędnego.

CMFCPopupMenu* GetParentPopupMenu() const;

Wartość zwracana

Wskaźnik do obiektu nadrzędnego CMFCPopupMenu ; Wartość NULL, jeśli nie ma menu podręcznego nadrzędnego.

Uwagi

Menu podręczne zawiera obiekt nadrzędny CMFCPopupMenu tylko wtedy, gdy jest to podmenu.

CMFCPopupMenu::GetParentRibbonElement

CMFCRibbonBaseElement* GetParentRibbonElement() const;

Wartość zwracana

Uwagi

CMFCPopupMenu::GetParentToolBar

Zwraca wskaźnik do nadrzędnego paska narzędzi.

CMFCToolBar* GetParentToolBar() const;

Wartość zwracana

Wskaźnik do nadrzędnego paska narzędzi. Wartość NULL, jeśli menu podręczne nie ma nadrzędnego paska narzędzi.

Uwagi

CMFCPopupMenu Jeśli jest to menu skrótów, nie ma nadrzędnego paska narzędzi.

CMFCPopupMenu::GetQuickCustomizeType

QUICK_CUSTOMIZE_TYPE GetQuickCustomizeType() const;

Wartość zwracana

Uwagi

CMFCPopupMenu::GetSelItem

Zwraca wskaźnik do aktualnie wybranego polecenia menu.

CMFCToolBarMenuButton* GetSelItem();

Wartość zwracana

Wskaźnik do aktualnie wybranego polecenia menu; Wartość NULL, jeśli nie wybrano żadnego elementu.

Uwagi

Polecenia menu w menu podręcznym są reprezentowane przez klasę CMFCToolBarMenuButton lub klasę pochodzącą z CMFCToolBarMenuButtonklasy .

CMFCPopupMenu::HasBeenResized

BOOL HasBeenResized() const;

Wartość zwracana

Uwagi

CMFCPopupMenu::HideRarelyUsedCommands

Wskazuje, czy menu podręczne może ukrywać rzadko używane polecenia.

BOOL HideRarelyUsedCommands() const;

Wartość zwracana

WARTOŚĆ TRUE, jeśli menu podręczne może ukryć rzadko używane polecenia; w przeciwnym razie FAŁSZ.

Uwagi

Ta metoda określa tylko, czy menu podręczne może ukrywać rzadko używane polecenia, a nie jeśli ta konfiguracja jest włączona. Menu podręczne może ukrywać rzadko używane polecenia, jeśli ma przycisk nadrzędny, a okno nadrzędne pochodzi z klasy CMFCMenuBar. Użyj polecenia CMFCMenuBar::SetRecentlyUsedMenus , aby włączyć tę funkcję i cmFCMenuBar::IsRecentlyUsedMenus , aby określić, czy ta funkcja jest obecnie włączona. Oba te metody należy wywołać dla okna nadrzędnego.

CMFCPopupMenu::InCommand

virtual BOOL InCommand();

Wartość zwracana

Uwagi

CMFCPopupMenu::InsertItem

Wstawia nowy element do menu podręcznego w określonej lokalizacji.

int InsertItem(
    const CMFCToolBarMenuButton& button,
    int iInsertA = -1);

Parametry

Przycisk
[in] Odwołanie do elementu menu do dodania.

iInsertAt
[in] Indeks oparty na zera dla nowego elementu. Jeśli parametr iInsertAt to -1, element zostanie dodany na końcu menu.

Wartość zwracana

Indeks oparty na zera pozycji, w której wstawiono element. -1, jeśli metoda nie powiedzie się.

Uwagi

Ta metoda zakończy się niepowodzeniem, jeśli podasz nieprawidłową wartość dla elementu iInsertAt, taką jak liczba całkowita większa niż liczba elementów znajdujących się obecnie w menu podręcznym.

CMFCPopupMenu::InsertSeparator

Wstawia separator do menu podręcznego w określonej lokalizacji.

int InsertSeparator(int iInsertAt = -1);

Parametry

iInsertAt
[in] Indeks oparty na zera pozycji, w której ta metoda wstawi separator.

Wartość zwracana

Indeks oparty na zera pozycji, w której wstawiono separator. -1, jeśli ta metoda nie powiedzie się.

Uwagi

Wartość -1 dla elementu iInsertAt oznacza, że ta metoda doda separator na końcu menu podręcznego.

Ta metoda nie powiedzie się, jeśli element iInsertAt jest nieprawidłową wartością.

CMFCPopupMenu::IsAlwaysClose

virtual BOOL IsAlwaysClose() const;

Wartość zwracana

Uwagi

CMFCPopupMenu::IsAlwaysShowEmptyToolsEntry

static BOOL __stdcall IsAlwaysShowEmptyToolsEntry();

Wartość zwracana

Uwagi

CMFCPopupMenu::IsCustomizePane

Wskazuje, czy menu podręczne działa jako QuickCustomizePane.

BOOL IsCustomizePane();

Wartość zwracana

Wartość TRUE, jeśli wyskakujące okienko to QuckCustomizePane; w przeciwnym razie FALSE.

Uwagi

Użyj polecenia QuickCustomizePane , aby umożliwić użytkownikowi bezpośrednie dostosowanie menu podręcznego. Element QuickCustomizePane jest CMFCPopupMenu wyświetlany, gdy użytkownik kliknie przycisk paska narzędzi, aby edytować go bezpośrednio.

Aplikacja powinna wywołać tę metodę podczas polecenia CMDIFrameWndEx::OnShowCustomizePane.

CMFCPopupMenu::IsEscClose

BOOL IsEscClose();

Wartość zwracana

Uwagi

CMFCPopupMenu::IsIdle

Wskazuje, czy menu podręczne jest obecnie bezczynne.

virtual BOOL IsIdle() const;

Wartość zwracana

WARTOŚĆ TRUE, jeśli menu podręczne jest w trybie bezczynności; w przeciwnym razie FAŁSZ.

Uwagi

Domyślnie menu podręczne jest w trybie bezczynności, jeśli animacja wyświetlania jest ukończona, a użytkownik nie przewija menu podręcznego.

CMFCPopupMenu::IsMenuSound

static UINT __stdcall IsMenuSound();

Wartość zwracana

Uwagi

CMFCPopupMenu::IsQuickCustomize

Określa, czy skojarzona klasa CMFCToolBarMenuButton jest w trybie QuickCustomize.

BOOL IsQuickCustomize();

Wartość zwracana

WARTOŚĆ TRUE, jeśli skojarzony przycisk menu jest w trybie QuickCustomize; w przeciwnym razie FAŁSZ. Ta metoda zwróci również wartość FALSE, jeśli menu podręczne nie jest skojarzone z elementem CMFCToolBarMenuButton.

Uwagi

W trybie QuickCustomize użytkownik wybiera przycisk na pasku narzędzi, aby dostosować przycisk bezpośrednio.

CMFCPopupMenu::IsResizeble

BOOL IsResizeble() const;

Wartość zwracana

Uwagi

CMFCPopupMenu::IsRightAlign

Wskazuje, czy menu jest wyrównane do prawej, czy wyrównane do lewej.

BOOL IsRightAlign() const;

Wartość zwracana

WARTOŚĆ TRUE, jeśli menu jest wyrównane do prawej; FAŁSZ, jeśli menu wyrównane po lewej stronie.

Uwagi

Aby ustawić wyrównanie menu, możesz użyć polecenia CMFCPopupMenu::SetRightAlign . Domyślnie menu podręczne używają wyrównania po lewej stronie.

Wyrównanie menu nie jest ustawieniem globalnym i może się różnić w menu podręcznym.

CMFCPopupMenu::IsScrollable

BOOL IsScrollable() const;

Wartość zwracana

Uwagi

CMFCPopupMenu::IsSendMenuSelectMsg

Wskazuje, czy struktura powiadamia ramkę nadrzędną, gdy użytkownik wybierze polecenie z menu podręcznego.

static BOOL IsSendMenuSelectMsg();

Wartość zwracana

WARTOŚĆ TRUE, jeśli struktura powiadamia ramkę nadrzędną; w przeciwnym razie FAŁSZ.

Uwagi

Struktura powiadamia ramkę nadrzędną, wysyłając jej komunikat WM_MENUSELECT, gdy używany wybierze polecenie menu.

CMFCPopupMenu::IsShown

Wskazuje, czy menu podręczne jest obecnie widoczne.

BOOL IsShown() const;

Wartość zwracana

Wartość TRUE, jeśli jest widoczne menu podręczne; w przeciwnym razie FAŁSZ.

CMFCPopupMenu::MoveTo

void MoveTo(const CPoint& pt);

Parametry

[in] Pt

Uwagi

CMFCPopupMenu::OnChangeHot

virtual void OnChangeHot(int nHot);

Parametry

[in] nHot

Uwagi

CMFCPopupMenu::OnChooseItem

virtual void OnChooseItem(UINT uidCmdID);

Parametry

[in] uidCmdID

Uwagi

CMFCPopupMenu::OnCmdMsg

virtual BOOL OnCmdMsg(
    UINT nID,
    int nCode,
    void* pExtra,
    AFX_CMDHANDLERINFO* pHandlerInfo);

Parametry

[in] Nid
[in] nCode
[in] pExtra
[in] pHandlerInfo

Wartość zwracana

Uwagi

CMFCPopupMenu::P ostCommand

BOOL PostCommand(UINT uiCommandID);

Parametry

[in] uiCommandID

Wartość zwracana

Uwagi

CMFCPopupMenu::P reTranslateMessage

virtual BOOL PreTranslateMessage(MSG* pMsg);

Parametry

[in] PMsg

Wartość zwracana

Uwagi

CMFCPopupMenu::RecalcLayout

virtual void RecalcLayout(BOOL bNotify = TRUE);

Parametry

[in] bNotify

Uwagi

CMFCPopupMenu::RemoveAllItems

Czyści wszystkie elementy z menu podręcznego.

void RemoveAllItems();

CMFCPopupMenu::RemoveItem

Usuwa określony element z menu podręcznego.

BOOL RemoveItem(int iIndex);

Parametry

Iindex
[in] Indeks zerowy elementu do usunięcia.

Wartość zwracana

Wartość TRUE, jeśli metoda zakończyła się pomyślnie; w przeciwnym razie FAŁSZ.

Uwagi

Ta metoda automatycznie rozmieszcza wszelkie separatory, których dotyczy usunięcie elementu. Aby uzyskać więcej informacji na temat zmieniania kolejności separatorów struktury, zobacz CMFCToolBar::RemoveButton.

CMFCPopupMenu::SaveState

virtual void SaveState();

Uwagi

CMFCPopupMenu::SetAnimationSpeed

Ustawia szybkość animacji dla wyskakujących menu.

static void SetAnimationSpeed(UINT nElapse);

Parametry

nElapse
[in] Nowa szybkość animacji w milisekundach.

Uwagi

Szybkość animacji jest wartością globalną i wpływa na wszystkie menu podręczne w aplikacji. Ta wartość określa, jak długo trwa zakończenie animacji w menu podręcznym.

Domyślnie ten parametr jest ustawiony na 30 milisekund. Zakres prawidłowych wartości dla nElapse wynosi od 0 do 200.

CMFCPopupMenu::SetAnimationType

Ustawia typ animacji dla tego menu podręcznego.

static void SetAnimationType(CMFCPopupMenu::ANIMATION_TYPE type);

Parametry

type
[in] Wyliczony typ danych określający typ animacji.

Uwagi

Aby uzyskać listę prawidłowych wartości dla typu, zobacz CMFCPopupMenu::GetAnimationType.

CMFCPopupMenu::SetAutoDestroy

void SetAutoDestroy(BOOL bAutoDestroy = TRUE);

Parametry

[in] bAutoDestroy

Uwagi

CMFCPopupMenu::SetDefaultItem

Ustawia domyślne polecenie dla menu podręcznego.

void SetDefaultItem(UINT uiCmd);

Parametry

Uicmd
[in] Identyfikator polecenia menu nowego polecenia domyślnego.

Uwagi

Domyślne polecenie w menu podręcznym to polecenie wybrane po wyświetleniu menu podręcznego.

CMFCPopupMenu::SetForceMenuFocus

Wymusza zwrócenie fokusu wejściowego na pasku menu po wyświetleniu menu podręcznego.

static void SetForceMenuFocus(BOOL bValue);

Parametry

bValue
[in] Wartość TRUE, jeśli chcesz, aby struktura wymusiła fokus wejściowy na pasku menu po wyświetleniu menu podręcznego. FAŁSZ, jeśli chcesz, aby menu podręczne zachowało fokus.

Uwagi

Ta metoda ustawia flagę globalną dla wszystkich wyskakujących menu w aplikacji. Domyślnie ta funkcja nie jest włączona.

CMFCPopupMenu::SetForceShadow

Wymusza rysowanie cieni menu po wyświetleniu wyskakujących menu poza ramką główną.

static void SetForceShadow(BOOL bValue);

Parametry

bValue
[in] WARTOŚĆ TRUE, jeśli chcesz, aby struktura rysowała cienie menu, w przeciwnym razie wartość FALSE.

Uwagi

Podczas wywoływania tej metody ustawia ona flagę globalną w aplikacji. Ta flaga ma wpływ na wszystkie menu podręczne w aplikacji.

CMFCPopupMenu::SetMaxWidth

Ustaw maksymalną szerokość menu podręcznego.

void SetMaxWidth(int iMaxWidth);

Parametry

iMaxWidth
[in] Maksymalna szerokość menu podręcznego w pikselach.

Uwagi

Jeśli tekst skojarzony z poleceniem menu nie mieści się w maksymalnej szerokości, zostanie obcięty, a część, która nie pasuje, zostanie zamieniona na trzy kropki.

CMFCPopupMenu::SetMessageWnd

void SetMessageWnd(CWnd* pMsgWnd);

Parametry

[in] pMsgWnd

Uwagi

CMFCPopupMenu::SetParentRibbonElement

void SetParentRibbonElement(CMFCRibbonBaseElement* pElem);

Parametry

[in] pElem

Uwagi

CMFCPopupMenu::SetQuickCustomizeType

void SetQuickCustomizeType(QUICK_CUSTOMIZE_TYPE Type);

Parametry

[in] Typu

Uwagi

CMFCPopupMenu::SetQuickMode

void SetQuickMode();

Uwagi

CMFCPopupMenu::SetRightAlign

Ustawia wyrównanie menu dla menu podręcznych.

void SetRightAlign(BOOL bRightAlign = TRUE);

Parametry

bRightAlign
[in] Wartość logiczna wskazująca wyrównanie menu. Wartość TRUE wskazuje wyrównanie do prawej, fałsz wskazuje wyrównanie po lewej stronie.

Uwagi

Domyślnie wszystkie menu podręczne są wyrównane do lewej.

CMFCPopupMenu::SetSendMenuSelectMsg

Ustawia flagę, która określa, czy menu podręczne powiadamia ramkę nadrzędną, gdy użytkownik wybierze polecenie.

static void SetSendMenuSelectMsg(BOOL bSet = TRUE);

Parametry

Zestaw bSet
[in] Wartość TRUE, jeśli menu podręczne powiadamia ramkę nadrzędną, w przeciwnym razie wartość FALSE.

Uwagi

Jest to globalna opcja dla wszystkich wyskakujących menu w aplikacji. Jeśli ta opcja jest włączona, wyskakujące menu będą wysyłać komunikat WM_MENUSELECT do ramki nadrzędnej, gdy użytkownik wybierze polecenie.

CMFCPopupMenu::ShowAllCommands

Wymusza wyskakujące menu, aby wyświetlić wszystkie polecenia.

void ShowAllCommands();

Uwagi

Nie jest to ustawienie globalne i ma wpływ tylko na bieżące menu podręczne.

CMFCPopupMenu::TriggerResize

void TriggerResize();

Uwagi

CMFCPopupMenu::UpdateAllShadows

Aktualizacje cienie dla wszystkich otwartych wyskakujących menu.

static void UpdateAllShadows(LPRECT lprectScreen = NULL);

Parametry

lprectScreen
[in] Prostokąt określający region do aktualizacji we współrzędnych ekranu.

Uwagi

Ta metoda jest przydatna, gdy wyskakujące menu są wyświetlane nad animowanymi kontrolkami lub innymi oknami, które mają zawartość dynamiczną.

CMFCPopupMenu::UpdateShadow

Aktualizacje cień menu podręcznego.

void UpdateShadow(LPRECT lprectScreen = NULL);

Parametry

lprectScreen
[in] Prostokąt, we współrzędnych ekranu, który określa granice regionu do aktualizacji.

Uwagi

Wywołaj tę metodę, gdy menu podręczne z cieniem nakłada się na animowany obraz.

Zobacz też

Wykres hierarchii
Klasy
Klasa CMFCPopupMenuBar