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 CMFCMenuButton
należ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
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.