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
Elementy członkowskie
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 | Aktualizuje cienie dla wszystkich otwartych wyskakujących menu. |
CMFCPopupMenu::UpdateShadow | Aktualizuje 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
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 podpisem łzawiącego.
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
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] identyfikator uiID
[in] lpszName
Wartość zwracana
Uwagi
CMFCPopupMenu::D efaultMouseClickOnClose
virtual BOOL DefaultMouseClickOnClose() const;
Wartość zwracana
Uwagi
CMFCPopupMenu::EnableMenuLogo
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. |
ROZKŁADAĆ | 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. |
ZANIKANIE | 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 CMFCToolBarMenuButton
elementu .
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 CMFCToolBarMenuButton
klasy .
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
guzik
[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] Typ
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
Aktualizuje 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
Aktualizuje 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.