Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
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
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.