Share via


CMFCMenuButton-klasse

Opmerking

De Microsoft Foundation Classes-bibliotheek (MFC) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.

Een knop die een snelmenu en rapporten weergeeft in de menuselecties van de gebruiker.

Syntaxis

class CMFCMenuButton : public CMFCButton

Leden

Openbare constructors

Naam Description
CMFCMenuButton::CMFCMenuButton Maakt een CMFCMenuButton object.

Openbare methoden

Naam Description
CMFCMenuButton::P reTranslateMessage Wordt door het framework aangeroepen om vensterberichten te vertalen voordat ze worden verzonden. (Onderdrukkingen CMFCButton::PreTranslateMessage.)
CMFCMenuButton::SizeToContent Hiermee wijzigt u de grootte van de knop op basis van de tekst en de afbeeldingsgrootte.

Gegevensleden

Naam Description
CMFCMenuButton::m_bOSMenu Hiermee geeft u op of het standaardmenu van het systeem of het gebruik van CContextMenuManager::TrackPopupMenu.
CMFCMenuButton::m_bRightArrow Hiermee geeft u op of het snelmenu onder of rechts van de knop wordt weergegeven.
CMFCMenuButton::m_bStayPressed Hiermee geeft u op of de menuknop de status wijzigt nadat de gebruiker de knop heeft vrijgegeven.
CMFCMenuButton::m_hMenu Een ingang naar het gekoppelde Windows-menu.
CMFCMenuButton::m_nMenuResult Een id die aangeeft welk item de gebruiker heeft geselecteerd in het snelmenu.
CMFCMenuButton::m_bDefaultClick Standaardverwerking (op knoptekst/afbeelding) toestaan.

Opmerkingen

De CMFCMenuButton klasse is afgeleid van de CMFCButton-klasse die op zijn beurt is afgeleid van de CButton-klasse. Daarom kunt u in uw code op dezelfde manier gebruiken CMFCMenuButton als u zou gebruiken CButton.

Wanneer u een CMFCMenuButtonbestand maakt, moet u een ingang doorgeven aan het bijbehorende snelmenu. Roep vervolgens de functie CMFCMenuButton::SizeToContentaan. CMFCMenuButton::SizeToContent controleert of de knopgrootte voldoende is om een pijl op te nemen die verwijst naar de locatie waar het pop-upvenster wordt weergegeven, namelijk onder of rechts van de knop.

Example

In het volgende voorbeeld ziet u hoe u de greep instelt van het menu dat aan de knop is gekoppeld, het formaat van de knop wijzigt op basis van de tekst- en afbeeldingsgrootte en hoe u het pop-upmenu instelt dat door het framework wordt weergegeven. Dit codefragment maakt deel uit van het voorbeeld Nieuwe besturingselementen.

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;

Overnamehiƫrarchie

CObject

CCmdTarget

CWnd

CButton

CMFCButton

CMFCMenuButton

Requirements

Koptekst: afxmenubutton.h

CMFCMenuButton::CMFCMenuButton

Maakt een nieuw CMFCMenuButton-object .

CMFCMenuButton();

CMFCMenuButton::m_bOSMenu

Een Booleaanse lidvariabele die aangeeft welk pop-upmenu het framework weergeeft.

BOOL m_bOSMenu;

Opmerkingen

Als m_bOSMenu true is, roept het framework de overgenomen TrackPopupMenu methode voor dit object aan. Anders roept het framework CContextMenuManager::TrackPopupMenu aan.

CMFCMenuButton::m_bRightArrow

Een Booleaanse lidvariabele die de locatie van het snelmenu aangeeft.

BOOL m_bRightArrow;

Opmerkingen

Wanneer de gebruiker op de menuknop drukt, wordt in de toepassing een snelmenu weergegeven. In het framework wordt het snelmenu weergegeven onder de knop of rechts van de knop. De knop heeft ook een kleine pijl die aangeeft waar het snelmenu wordt weergegeven. Als m_bRightArrow waar is, wordt in het framework het snelmenu rechts van de knop weergegeven. Anders wordt het snelmenu onder de knop weergegeven.

CMFCMenuButton::m_bStayPressed

Een Booleaanse lidvariabele die aangeeft of de menuknop wordt ingedrukt terwijl de gebruiker een selectie maakt in het snelmenu.

BOOL m_bStayPressed;

Opmerkingen

Als het m_bStayPressed lid ONWAAR is, wordt de menuknop niet ingedrukt wanneer de gebruiker op de knop klikt. In dit geval wordt in het framework alleen het pop-upmenu weergegeven.

Als het m_bStayPressed lid WAAR is, wordt de menuknop ingedrukt wanneer de gebruiker op de knop klikt. Het blijft ingedrukt totdat de gebruiker het snelmenu sluit door een selectie te maken of te annuleren.

CMFCMenuButton::m_hMenu

De greep naar het gekoppelde menu.

HMENU m_hMenu;

Opmerkingen

Het framework geeft het menu weer dat wordt aangegeven door deze lidvariabele wanneer de gebruiker op de menuknop klikt.

CMFCMenuButton::m_nMenuResult

Een geheel getal dat aangeeft welk item de gebruiker selecteert in het snelmenu.

int m_nMenuResult;

Opmerkingen

De waarde van deze lidvariabele is nul als de gebruiker het menu annuleert zonder een selectie te maken of als er een fout optreedt.

CMFCMenuButton::m_bDefaultClick

Hiermee staat u de standaardverwerking van tekst of afbeeldingen op de knop toe.

BOOL  m_bDefaultClick;

Opmerkingen

Als u m_bDefaultClick instelt op onwaar, wordt het menu weergegeven wanneer u ergens op de knop klikt.

CMFCMenuButton::P reTranslateMessage

Wordt door het framework aangeroepen om vensterberichten te vertalen voordat ze worden verzonden.

virtual BOOL PreTranslateMessage(MSG* pMsg);

Parameterwaarden

pMsg
[in] Verwijst naar een MSG-structuur die het bericht bevat dat moet worden verwerkt.

Retourwaarde

Niet-nul als het bericht is vertaald en niet mag worden verzonden; 0 als het bericht niet is vertaald en moet worden verzonden.

Opmerkingen

CMFCMenuButton::SizeToContent

Hiermee wijzigt u de grootte van de knop op basis van de tekstgrootte en de afbeeldingsgrootte.

virtual CSize SizeToContent(BOOL bCalcOnly = FALSE);

Parameterwaarden

bCalcOnly
[in] Een Booleaanse parameter die aangeeft of deze methode de grootte van de knop wijzigt.

Retourwaarde

Een CSize-object dat de nieuwe grootte voor de knop aangeeft.

Opmerkingen

Als u deze functie aanroept en bCalcOnly TRUE is, SizeToContent wordt alleen de nieuwe grootte van de knop berekend.

De nieuwe grootte van de knop wordt berekend op basis van de knoptekst, afbeelding en pijl. Het framework voegt ook vooraf gedefinieerde marges van 10 pixels toe voor de horizontale rand en 5 pixels voor de verticale rand.

Zie ook

Hiƫrarchiegrafiek
Klassen
CMFCButton-klasse