Udostępnij za pośrednictwem


Klasa CMFCMenuButton

Przycisk, który wyświetla menu podręczne i raporty dotyczące wybranych menu użytkownika.

Składnia

class CMFCMenuButton : public CMFCButton

Elementy członkowskie

Konstruktory publiczne

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

Metody publiczne

Nazwa/nazwisko opis
CMFCMenuButton::P reTranslateMessage Wywoływana przez platformę do tłumaczenia komunikatów okien przed ich wysłaniem. (Przesłania CMFCButton::PreTranslateMessage).
CMFCMenuButton::SizeToContent Zmienia rozmiar przycisku zgodnie z jego rozmiarem tekstu i obrazu.

Składowe danych

Nazwa/nazwisko opis
CMFCMenuButton::m_bOSMenu Określa, czy ma być wyświetlane domyślne menu podręczne systemu, czy użyć CContextMenuManager::TrackPopupMenu.
CMFCMenuButton::m_bRightArrow Określa, czy menu podręczne będzie wyświetlane poniżej, czy po prawej stronie przycisku.
CMFCMenuButton::m_bStayPressed Określa, czy przycisk menu zmienia jego stan po wydaniu przycisku przez użytkownika.
CMFCMenuButton::m_hMenu Uchwyt do dołączonego menu systemu Windows.
CMFCMenuButton::m_nMenuResult Identyfikator wskazujący element wybrany przez użytkownika z menu podręcznego.
CMFCMenuButton::m_bDefaultClick Zezwalaj na przetwarzanie domyślne (na tekst/obraz przycisku).

Uwagi

Klasa CMFCMenuButton pochodzi z klasy CMFCButton, która z kolei pochodzi z klasy CButton. W związku z tym możesz użyć CMFCMenuButton w kodzie w taki sam sposób, jak w przypadku użycia polecenia CButton.

Podczas tworzenia elementu CMFCMenuButtonnależy przekazać uchwyt do skojarzonego menu podręcznego. Następnie wywołaj funkcję CMFCMenuButton::SizeToContent. CMFCMenuButton::SizeToContent Sprawdza, czy rozmiar przycisku jest wystarczający, aby uwzględnić strzałkę wskazującą lokalizację, w której pojawi się okno podręczne — czyli pod spodem lub po prawej stronie przycisku.

Przykład

W poniższym przykładzie pokazano, jak ustawić uchwyt menu dołączonego do przycisku, zmienić rozmiar przycisku zgodnie z jego rozmiarem tekstu i obrazu oraz ustawić menu podręczne wyświetlane przez platformę. Ten fragment kodu jest częścią przykładu Nowe kontrolki.

CMFCMenuButton m_btnMenu;
// CMenu m_menu
m_btnMenu.m_hMenu = m_menu.GetSubMenu(0)->GetSafeHmenu();
m_btnMenu.SizeToContent();
// set to FALSE so that the framework calls CContextMenuManager::TrackPopupMenu
// to display its menu
m_btnMenu.m_bOSMenu = FALSE;

Hierarchia dziedziczenia

Obiekt CObject

CCmdTarget

CWnd

CButton

CMFCButton

CMFCMenuButton

Wymagania

Nagłówek: afxmenubutton.h

CMFCMenuButton::CMFCMenuButton

Tworzy nowy obiekt CMFCMenuButton .

CMFCMenuButton();

CMFCMenuButton::m_bOSMenu

Zmienna logiczna składowa wskazująca menu podręczne wyświetlane przez platformę.

BOOL m_bOSMenu;

Uwagi

Jeśli m_bOSMenu ma wartość TRUE, struktura wywołuje metodę dziedziczonej TrackPopupMenu dla tego obiektu. W przeciwnym razie struktura wywołuje CContextMenuManager ::TrackPopupMenu.

CMFCMenuButton::m_bRightArrow

Zmienna składowa logiczna wskazująca lokalizację menu podręcznego.

BOOL m_bRightArrow;

Uwagi

Gdy użytkownik naciśnie przycisk menu, aplikacja wyświetli menu podręczne. Platforma wyświetli menu podręczne pod przyciskiem lub po prawej stronie przycisku. Przycisk ma również małą strzałkę wskazującą, gdzie pojawi się menu podręczne. Jeśli m_bRightArrow ma wartość TRUE, platforma wyświetla menu podręczne po prawej stronie przycisku. W przeciwnym razie zostanie wyświetlone menu podręczne pod przyciskiem .

CMFCMenuButton::m_bStayPressed

Zmienna składowa logiczna wskazująca, czy przycisk menu jest wyświetlany, podczas gdy użytkownik dokonuje wyboru z menu podręcznego.

BOOL m_bStayPressed;

Uwagi

Jeśli element m_bStayPressed członkowski ma wartość FALSE, przycisk menu nie zostanie naciśnięty po kliknięciu przycisku przy użyciu. W takim przypadku platforma wyświetla tylko menu podręczne.

m_bStayPressed Jeśli element członkowski ma wartość TRUE, przycisk menu zostanie naciśnięty po kliknięciu przycisku przez użytkownika. Pozostaje naciśnięty aż po zamknięciu menu podręcznego przez wybranie lub anulowanie.

CMFCMenuButton::m_hMenu

Uchwyt do dołączonego menu.

HMENU m_hMenu;

Uwagi

Platforma wyświetla menu wskazywane przez tę zmienną składową, gdy użytkownik kliknie przycisk menu.

CMFCMenuButton::m_nMenuResult

Liczba całkowita wskazująca, który element wybiera użytkownik z menu podręcznego.

int m_nMenuResult;

Uwagi

Wartość tej zmiennej składowej wynosi zero, jeśli użytkownik anuluje menu bez zaznaczenia lub jeśli wystąpi błąd.

CMFCMenuButton::m_bDefaultClick

Umożliwia domyślne przetwarzanie tekstu lub obrazów na przycisku.

BOOL  m_bDefaultClick;

Uwagi

Ustawienie m_bDefaultClick wartości false powoduje, że przycisk wyświetli menu po kliknięciu dowolnego miejsca na przycisku.

CMFCMenuButton::P reTranslateMessage

Wywoływana przez platformę do tłumaczenia komunikatów okien przed ich wysłaniem.

virtual BOOL PreTranslateMessage(MSG* pMsg);

Parametry

PMsg
[in] Wskazuje strukturę msg zawierającą komunikat do przetworzenia.

Wartość zwracana

Nonzero, jeśli wiadomość została przetłumaczona i nie powinna być wysyłana; 0, jeśli wiadomość nie została przetłumaczona i powinna zostać wysłana.

Uwagi

CMFCMenuButton::SizeToContent

Zmienia rozmiar przycisku zgodnie z rozmiarem tekstu i rozmiarem obrazu.

virtual CSize SizeToContent(BOOL bCalcOnly = FALSE);

Parametry

bCalcOnly
[in] Parametr logiczny wskazujący, czy ta metoda zmienia rozmiar przycisku .

Wartość zwracana

Obiekt CSize określający nowy rozmiar przycisku.

Uwagi

Jeśli wywołasz tę funkcję, a wartość bCalcOnly ma wartość TRUE, SizeToContent obliczy tylko nowy rozmiar przycisku.

Nowy rozmiar przycisku jest obliczany w celu dopasowania tekstu, obrazu i strzałki przycisku. Struktura dodaje również wstępnie zdefiniowane marginesy 10 pikseli dla krawędzi poziomej i 5 pikseli dla krawędzi pionowej.

Zobacz też

Wykres hierarchii
Klasy
Klasa CMFCButton