Share via


CMFCButton-klasse

De CMFCButton-klasse voegt functionaliteit toe aan de CButton klasse, zoals het uitlijnen van knoptekst, het combineren van knoptekst en een afbeelding, het selecteren van een cursor en het opgeven van een knopinfo.

Syntaxis

class CMFCButton : public CButton

Leden

Openbare constructors

Naam Beschrijving
CMFCButton::CMFCButton Standaardconstructor.
CMFCButton::~CMFCButton Destructor.

Openbare methoden

Naam Beschrijving
CMFCButton::CleanUp Hiermee worden interne variabelen en gratis toegewezen resources, zoals afbeeldingen, bitmaps en pictogrammen, opnieuw ingesteld.
CMFCButton::CreateObject Wordt door het framework gebruikt om een dynamisch exemplaar van dit klassetype te maken.
CMFCButton::DrawItem Aangeroepen door het framework wanneer een visueel aspect van een door de eigenaar getekende knop is gewijzigd. (Overschrijft CButton::DrawItem.)
CMFCButton::EnableFullTextTooltip Hiermee geeft u op of de volledige tekst van knopinfo in een groot venster met knopinfo of een afgekapte versie van de tekst in een klein venster met knopinfo moet worden weergegeven.
CMFCButton::EnableMenuFont Hiermee geeft u op of het lettertype voor knoptekst hetzelfde is als het lettertype van het toepassingsmenu.
CMFCButton::EnableWindowsTheming Hiermee geeft u op of de stijl van de knoprand overeenkomt met het huidige Windows-thema.
CMFCButton::GetThisClass Wordt door het framework gebruikt om een aanwijzer te verkrijgen naar het CRuntimeClass-object dat is gekoppeld aan dit klassetype.
CMFCButton::GetToolTipCtrl Retourneert een verwijzing naar het onderliggende besturingselement voor knopinfo.
CMFCButton::IsAutoCheck Hiermee wordt aangegeven of een selectievakje of keuzerondje een automatische knop is.
CMFCButton::IsAutorepeatCommandMode Hiermee wordt aangegeven of een knop is ingesteld op de modus voor automatisch herhalen.
CMFCButton::IsCheckBox Geeft aan of een knop een selectievakjeknop is.
CMFCButton::IsChecked Hiermee wordt aangegeven of de huidige knop is ingeschakeld.
CMFCButton::IsHighlighted Geeft aan of een knop is gemarkeerd.
CMFCButton::IsPressed Geeft aan of een knop wordt gepusht en gemarkeerd.
CMFCButton::IsPushed Geeft aan of een knop wordt ingedrukt.
CMFCButton::IsRadioButton Geeft aan of een knop een keuzerondje is.
CMFCButton::IsWindowsThemingEnabled Geeft aan of de stijl van de knoprand overeenkomt met het huidige Windows-thema.
CMFCButton::OnDrawParentBackground Hiermee tekent u de achtergrond van het bovenliggende item van een knop in het opgegeven gebied. (Overschrijft AFX_GLOBAL_DATA::DrawParentBackground.)
CMFCButton::PreTranslateMessage Hiermee worden vensterberichten vertaald voordat ze worden verzonden naar de functies TranslateMessage en DispatchMessage Windows. (Overschrijft CWnd::PreTranslateMessage.)
CMFCButton::SetAutorepeatMode Hiermee stelt u een knop in op de modus voor automatisch herhalen.
CMFCButton::SetCheckedImage Hiermee stelt u de afbeelding in voor een aangevinkte knop.
CMFCButton::SetFaceColor Hiermee stelt u de achtergrondkleur voor de knoptekst in.
CMFCButton::SetImage Hiermee stelt u de afbeelding voor een knop in.
CMFCButton::SetMouseCursor Hiermee stelt u de cursorafbeelding in.
CMFCButton::SetMouseCursorHand Hiermee stelt u de cursor in op de afbeelding van een hand.
CMFCButton::SetStdImage Gebruikt een CMenuImages-object om de knopafbeelding in te stellen.
CMFCButton::SetTextColor Hiermee stelt u de kleur van de knoptekst in voor een knop die niet is geselecteerd.
CMFCButton::SetTextHotColor Hiermee stelt u de kleur van de knoptekst in voor een knop die is geselecteerd.
CMFCButton::SetTooltip Hiermee koppelt u knopinfo aan een knop.
CMFCButton::SizeToContent Hiermee wijzigt u het formaat van een knop zodat deze de tekst en afbeelding van de knop bevat.

Beveiligde methoden

Naam Beschrijving
CMFCButton::OnDraw Aangeroepen door het framework om een knop te tekenen.
CMFCButton::OnDrawBorder Wordt aangeroepen door het framework om de rand van een knop te tekenen.
CMFCButton::OnDrawFocusRect Aangeroepen door het framework om de focusrechthoek voor een knop te tekenen.
CMFCButton::OnDrawText Aangeroepen door het framework om de knoptekst te tekenen.
CMFCButton::OnFillBackground Aangeroepen door het framework om de achtergrond van de knoptekst te tekenen.
CMFCButton::SelectFont Hiermee haalt u het lettertype op dat is gekoppeld aan de opgegeven apparaatcontext.

Gegevensleden

Naam Beschrijving
CMFCButton::m_nAlignStyle Hiermee geeft u de uitlijning van de knoptekst.
CMFCButton::m_bDontUseWinXPTheme Hiermee geeft u op of Windows XP-thema's moeten worden gebruikt.
CMFCButton::m_bDrawFocus Hiermee wordt aangegeven of een focusrechthoek rond een knop moet worden getekend.
CMFCButton::m_nFlatStyle Hiermee geeft u de stijl van de knop, zoals randloos, plat, semi-plat of 3D.
CMFCButton::m_bGrayDisabled Wanneer TRUE, kan een uitgeschakelde knop als grijs worden getekend.
CMFCButton::m_bHighlightChecked Hiermee wordt aangegeven of een BS_CHECKBOX-stijlknop moet worden gemarkeerd wanneer de cursor erboven beweegt.
CMFCButton::m_bResponseOnButtonDown Hiermee wordt aangegeven of er op knop-omlaag gebeurtenissen moeten worden gereageerd.
CMFCButton::m_bRightImage Hiermee wordt aangegeven of een afbeelding aan de rechterkant van de knop moet worden weergegeven.
CMFCButton::m_bTopImage Geeft aan of de afbeelding boven op de knop staat.
CMFCButton::m_bTransparent Geeft aan of de knop transparant is.
CMFCButton::m_bWasDblClk Geeft aan of de laatste klikgebeurtenis een dubbelklik was.

Opmerkingen

Andere typen knoppen zijn afgeleid van de CMFCButton-klasse, zoals de CMFCURLLinkButton-klasse, die hyperlinks ondersteunt en de CMFCColorButton-klasse, die een dialoogvenster kleurkiezer ondersteunt.

De stijl van een CMFCButton object kan worden 3D, flat, semi-flat of no border. Knoptekst kan links, boven of midden van een knop worden uitgelijnd. Tijdens runtime kunt u bepalen of de knop tekst, een afbeelding of tekst en een afbeelding weergeeft. U kunt ook opgeven dat een bepaalde cursorafbeelding wordt weergegeven wanneer de cursor boven een knop beweegt.

Maak een knopbesturing rechtstreeks in uw code of met behulp van de wizard MFC-klasse en een dialoogvenstersjabloon. Als u rechtstreeks een knopbesturing maakt, voegt u een CMFCButton variabele toe aan uw toepassing en roept u de constructor en Create methoden van het CMFCButton-object aan. Als u de wizard MFC-klasse gebruikt, voegt u een CButton variabele toe aan uw toepassing en wijzigt u vervolgens het type van de variabele van CButton in CMFCButton.

Als u meldingsberichten in een dialoogvenstertoepassing wilt verwerken, voegt u een berichttoewijzingsvermelding en een gebeurtenis-handler toe voor elke melding. De meldingen die door een CMFCButton-object worden verzonden, zijn hetzelfde als meldingen die door een CButton-object worden verzonden.

Voorbeeld

In het volgende voorbeeld ziet u hoe u de eigenschappen van de knop configureert met behulp van verschillende methoden in de CMFCButton-klasse. Het voorbeeld maakt deel uit van het voorbeeld Nieuwe besturingselementen.

CMFCButton m_Button;
// int m_iImage
// IDB_BTN1_32, IDB_BTN1_HOT_32, IDB_BTN1, IDB_BTN1_HOT are int macros that are #define.
if (m_iImage == 1)
{
   m_Button.SetImage((HBITMAP)NULL);
}
else
{
   m_Button.SetImage(IDB_BTN1_32, IDB_BTN1_HOT_32);
}
// int m_iImage
if (m_iImage == 0)
{
   m_Button.SetWindowText(_T(""));
}
else
{
   m_Button.SetWindowText(_T("Button"));
}
// Resize the button.
m_Button.SizeToContent();
m_Button.EnableFullTextTooltip(true);
// Use the application menu font at the button text font.
m_Button.EnableMenuFont();
// Use the current Windows theme to draw the button borders.
m_Button.EnableWindowsTheming(true);
// Set the button to auto-repeat mode.
m_Button.SetAutorepeatMode();
// Set the background color for the button text.
m_Button.SetFaceColor(RGB(255,0,0),true);
m_Button.SetTextColor(RGB(0,0,255));
// Set the tooltip of the button.
m_Button.SetTooltip(_T("this is a button!"));

Overnamehiërarchie

CObject

CCmdTarget

CWnd

CButton

CMFCButton

Eisen

koptekst:afxbutton.h

CMFCButton::CleanUp

Hiermee worden interne variabelen en gratis toegewezen resources, zoals afbeeldingen, bitmaps en pictogrammen, opnieuw ingesteld.

virtual void CleanUp();

CMFCButton::EnableFullTextTooltip

Hiermee geeft u op of de volledige tekst van knopinfo in een groot venster met knopinfo of een afgekapte versie van de tekst in een klein venster met knopinfo moet worden weergegeven.

void EnableFullTextTooltip(BOOL bOn=TRUE);

Parameters

bOn
[in] TRUE om alle tekst weer te geven; FALSE om afgekapte tekst weer te geven.

CMFCButton::EnableMenuFont

Hiermee geeft u op of het lettertype voor knoptekst hetzelfde is als het lettertype van het toepassingsmenu.

void EnableMenuFont(
    BOOL bOn=TRUE,
    BOOL bRedraw=TRUE);

Parameters

bOn
[in] TRUE om het lettertype van het toepassingsmenu te gebruiken als het lettertype voor knoptekst; FALSE het systeemlettertype gebruiken. De standaardwaarde is TRUE.

bRedraw
[in] TRUE om het scherm onmiddellijk opnieuw te tekenen; anders, FALSE. De standaardwaarde is TRUE.

Opmerkingen

Als u deze methode niet gebruikt om het lettertype voor knoptekst op te geven, kunt u het lettertype opgeven met de methode CWnd::SetFont. Als u helemaal geen lettertype opgeeft, stelt het framework een standaardlettertype in.

CMFCButton::EnableWindowsTheming

Hiermee geeft u op of de stijl van de knoprand overeenkomt met het huidige Windows-thema.

static void EnableWindowsTheming(BOOL bEnable = TRUE);

Parameters

bEnable
[in] TRUE om het huidige Windows-thema te gebruiken om knopranden te tekenen; FALSE het Windows-thema niet gebruiken. De standaardwaarde is TRUE.

Opmerkingen

Deze methode is van invloed op alle knoppen in uw toepassing die zijn afgeleid van de klasse CMFCButton.

CMFCButton::GetToolTipCtrl

Retourneert een verwijzing naar het onderliggende besturingselement voor knopinfo.

CToolTipCtrl& GetToolTipCtrl();

Retourwaarde

Een verwijzing naar het onderliggende besturingselement voor knopinfo.

CMFCButton::IsAutoCheck

Hiermee wordt aangegeven of een selectievakje of keuzerondje een automatische knop is.

BOOL IsAutoCheck() const;

Retourwaarde

TRUE als de knop stijl BS_AUTOCHECKBOX of BS_AUTORADIOBUTTONheeft; anders, FALSE.

CMFCButton::IsAutorepeatCommandMode

Hiermee wordt aangegeven of een knop is ingesteld op de modus voor automatisch herhalen.

BOOL IsAutorepeatCommandMode() const;

Retourwaarde

TRUE als de knop is ingesteld op de modus voor automatisch herhalen; anders, FALSE.

Opmerkingen

Gebruik de methode CMFCButton::SetAutorepeatMode om een knop in te stellen op de modus voor automatisch herhalen.

CMFCButton::IsCheckBox

Geeft aan of een knop een selectievakjeknop is.

BOOL IsCheckBox() const;

Retourwaarde

TRUE als de knop BS_CHECKBOX of BS_AUTOCHECKBOX stijl heeft; anders, FALSE.

CMFCButton::IsChecked

Hiermee wordt aangegeven of de huidige knop is ingeschakeld.

BOOL IsChecked() const;

Retourwaarde

TRUE als de huidige knop is ingeschakeld; anders, FALSE.

Opmerkingen

Het framework gebruikt verschillende manieren om aan te geven dat verschillende soorten knoppen worden gecontroleerd. Een keuzerondje wordt bijvoorbeeld gecontroleerd wanneer het een punt bevat; een selectievakje is ingeschakeld wanneer het een Xbevat.

CMFCButton::IsHighlighted

Geeft aan of een knop is gemarkeerd.

BOOL IsHighlighted() const;

Retourwaarde

TRUE als de knop is gemarkeerd; anders, FALSE.

Opmerkingen

Een knop wordt gemarkeerd wanneer de muisaanwijzer boven de knop beweegt.

CMFCButton::IsPressed

Geeft aan of een knop wordt gepusht en gemarkeerd.

BOOL IsPressed() const;

Retourwaarde

TRUE als de knop wordt ingedrukt; anders, FALSE.

CMFCButton::IsPushed

Geeft aan of een knop wordt ingedrukt.

BOOL IsPushed() const;

Retourwaarde

TRUE als de knop wordt ingedrukt; anders, FALSE.

CMFCButton::IsRadioButton

Geeft aan of een knop een keuzerondje is.

BOOL IsRadioButton() const;

Retourwaarde

TRUE als de knopstijl is BS_RADIOBUTTON of BS_AUTORADIOBUTTON; anders, FALSE.

CMFCButton::IsWindowsThemingEnabled

Geeft aan of de stijl van de knoprand overeenkomt met het huidige Windows-thema.

static BOOL IsWindowsThemingEnabled();

Retourwaarde

TRUE als de stijl van de knoprand overeenkomt met het huidige Windows-thema; anders, FALSE.

CMFCButton::m_bDontUseWinXPTheme

Hiermee geeft u op of u Windows XP-thema's wilt gebruiken bij het tekenen van de knop.

BOOL m_bDontUseWinXPTheme;

CMFCButton::m_bDrawFocus

Hiermee wordt aangegeven of een focusrechthoek rond een knop moet worden getekend.

BOOL m_bDrawFocus;

Opmerkingen

Stel het m_bDrawFocus lid in op TRUE om op te geven dat het framework een focusrechthoek rond de tekst en afbeelding van de knop tekent als de knop de focus krijgt.

De CMFCButton constructor initialiseert dit lid in TRUE.

CMFCButton::m_bGrayDisabled

Wanneer TRUE, kan een uitgeschakelde knop als grijs worden getekend.

BOOL m_bGrayDisabled;

CMFCButton::m_bHighlightChecked

Hiermee wordt aangegeven of een BS_CHECKBOX-stijlknop moet worden gemarkeerd wanneer de cursor erboven beweegt.

BOOL m_bHighlightChecked;

Opmerkingen

Stel het m_bHighlightChecked lid in op TRUE om op te geven dat het framework een knop BS_CHECKBOX-stijl markeert wanneer de muis erboven beweegt.

CMFCButton::m_bResponseOnButtonDown

Hiermee wordt aangegeven of er op knop-omlaag gebeurtenissen moeten worden gereageerd.

BOOL m_bResponseOnButtonDown;

CMFCButton::m_bRightImage

Hiermee wordt aangegeven of een afbeelding aan de rechterkant van de knop moet worden weergegeven.

BOOL m_bRightImage;

CMFCButton::m_bTopImage

Geeft aan of de afbeelding boven op de knop staat.

BOOL m_bTopImage;

Opmerkingen

Stel het m_bRightImage lid in op TRUE om op te geven dat de afbeelding van de knop rechts van het tekstlabel van de knop wordt weergegeven.

CMFCButton::m_bTransparent

Geeft aan of de knop transparant is.

BOOL m_bTransparent;

Opmerkingen

Stel het m_bTransparent lid in op TRUE om op te geven dat het framework de knop transparant maakt. De CMFCButton constructor initialiseert dit lid in FALSE.

CMFCButton::m_nAlignStyle

Hiermee geeft u de uitlijning van de knoptekst.

AlignStyle m_nAlignStyle;

Opmerkingen

Gebruik een van de volgende CMFCButton::AlignStyle opsommingswaarden om de uitlijning van de knoptekst op te geven:

Waarde Beschrijving
ALIGN_CENTER (Standaard) Hiermee wordt de knoptekst uitgelijnd op het midden van de knop.
ALIGN_LEFT Hiermee wordt de knoptekst links van de knop uitgelijnd.
ALIGN_RIGHT Hiermee wordt de knoptekst rechts van de knop uitgelijnd.

De CMFCButton constructor initialiseert dit lid in ALIGN_CENTER.

CMFCButton::m_bWasDblClk

Geeft aan of de laatste klikgebeurtenis een dubbelklik was.

BOOL m_bWasDblClk;

CMFCButton::m_nFlatStyle

Hiermee geeft u de stijl van de knop, zoals randloos, plat, semi-plat of 3D.

FlatStyle m_nFlatStyle;

Opmerkingen

De volgende tabel bevat de CMFCButton::m_nFlatStyle opsommingswaarden waarmee het uiterlijk van een knop wordt opgegeven.

Waarde Beschrijving
BUTTONSTYLE_3D (Standaard) De knop lijkt hoge, driedimensionale zijden te hebben. Wanneer op de knop wordt geklikt, lijkt de knop in een diepe inspringing te worden ingedrukt.
BUTTONSTYLE_FLAT Wanneer de muis niet over de knop pauzeert, lijkt de knop tweedimensionaal te zijn en geen verhoogde zijden heeft. Wanneer de muis over de knop pauzeert, lijkt de knop lage, driedimensionale zijden te hebben. Wanneer op de knop wordt geklikt, lijkt de knop in een ondiepe inspringing te worden ingedrukt.
BUTTONSTYLE_SEMIFLAT De knop lijkt lage, driedimensionale zijden te hebben. Wanneer op de knop wordt geklikt, lijkt de knop in een diepe inspringing te worden ingedrukt.
BUTTONSTYLE_NOBORDERS De knop heeft geen verhoogde zijden en wordt altijd tweedimensionaal weergegeven. De knop lijkt niet te worden ingedrukt in een inspringing wanneer erop wordt geklikt.

De CMFCButton constructor initialiseert dit lid in BUTTONSTYLE_3D.

Voorbeeld

In het volgende voorbeeld ziet u hoe u de waarden van de variabele m_nFlatStyle lid in de CMFCButton-klasse instelt. Dit voorbeeld maakt deel uit van het voorbeeld van nieuwe besturingselementen.

CMFCButton m_Button;
//int m_iBorderStyle
switch (m_iBorderStyle)
{
case 0:
   m_Button.m_nFlatStyle = CMFCButton::BUTTONSTYLE_FLAT;
   break;

case 1:
   m_Button.m_nFlatStyle = CMFCButton::BUTTONSTYLE_SEMIFLAT;
   break;

case 2:
   m_Button.m_nFlatStyle = CMFCButton::BUTTONSTYLE_3D;
}

CMFCButton::OnDraw

Aangeroepen door het framework om een knop te tekenen.

virtual void OnDraw(
    CDC* pDC,
    const CRect& rect,
    UINT uiState);

Parameters

pDC
[in] Een aanwijzer naar een apparaatcontext.

rect
[in] Een verwijzing naar een rechthoek die de knop begrenst.

uiState
[in] De huidige knopstatus. Zie het itemState lid van het onderwerp DRAWITEMSTRUCT Structuur voor meer informatie.

Opmerkingen

Overschrijf deze methode om uw eigen code te gebruiken om een knop te tekenen.

CMFCButton::OnDrawBorder

Wordt aangeroepen door het framework om de rand van een knop te tekenen.

virtual void OnDrawBorder(
    CDC* pDC,
    CRect& rectClient,
    UINT uiState);

Parameters

pDC
[in] Een aanwijzer naar een apparaatcontext.

rectClient
[in] Een verwijzing naar een rechthoek die de knop begrenst.

uiState
[in] De huidige knopstatus. Zie het itemState lid van het onderwerp DRAWITEMSTRUCT Structuur voor meer informatie.

Opmerkingen

Overschrijf deze methode om uw eigen code te gebruiken om de rand te tekenen.

CMFCButton::OnDrawFocusRect

Aangeroepen door het framework om de focusrechthoek voor een knop te tekenen.

virtual void OnDrawFocusRect(
    CDC* pDC,
    const CRect& rectClient);

Parameters

pDC
[in] Een aanwijzer naar een apparaatcontext.

rectClient
[in] Een verwijzing naar een rechthoek die de knop begrenst.

Opmerkingen

Overschrijf deze methode om uw eigen code te gebruiken om de focusrechthoek te tekenen.

CMFCButton::OnDrawText

Aangeroepen door het framework om de knoptekst te tekenen.

virtual void OnDrawText(
    CDC* pDC,
    const CRect& rect,
    const CString& strText,
    UINT uiDTFlags,
    UINT uiState);

Parameters

pDC
[in] Een aanwijzer naar een apparaatcontext.

rect
[in] Een verwijzing naar een rechthoek die de knop begrenst.

strText
[in] De te tekenen tekst.

uiDTFlags
[in] Vlaggen die aangeven hoe de tekst moet worden opgemaakt. Zie de parameter nFormat van de methode CDC::DrawText voor meer informatie.

uiState
[in] Gereserveerd.

Opmerkingen

Overschrijf deze methode om uw eigen code te gebruiken om de knoptekst te tekenen.

CMFCButton::OnFillBackground

Aangeroepen door het framework om de achtergrond van de knoptekst te tekenen.

virtual void OnFillBackground(
    CDC* pDC,
    const CRect& rectClient);

Parameters

pDC
[in] Een aanwijzer naar een apparaatcontext.

rectClient
[in] Een verwijzing naar een rechthoek die de knop begrenst.

Opmerkingen

Overschrijf deze methode om uw eigen code te gebruiken om de achtergrond van een knop te tekenen.

CMFCButton::SelectFont

Hiermee haalt u het lettertype op dat is gekoppeld aan de opgegeven apparaatcontext.

virtual CFont* SelectFont(CDC* pDC);

Parameters

pDC
[in] Een aanwijzer naar een apparaatcontext.

Retourwaarde

Overschrijf deze methode om uw eigen code te gebruiken om het lettertype op te halen.

CMFCButton::SetAutorepeatMode

Hiermee stelt u een knop in op de modus voor automatisch herhalen.

void SetAutorepeatMode(int nTimeDelay=500);

Parameters

nTimeDelay
[in] Een niet-negatief getal dat het interval aangeeft tussen berichten die naar het bovenliggende venster worden verzonden. Het interval wordt gemeten in milliseconden en de standaardwaarde is 500 milliseconden. Geef nul op om de berichtmodus voor automatisch herhalen uit te schakelen.

Opmerkingen

Deze methode zorgt ervoor dat de knop voortdurend WM_COMMAND berichten naar het bovenliggende venster verzendt totdat de knop wordt vrijgegeven of dat de parameter nTimeDelay is ingesteld op nul.

CMFCButton::SetCheckedImage

Hiermee stelt u de afbeelding in voor een aangevinkte knop.

void SetCheckedImage(
    HICON hIcon,
    BOOL bAutoDestroy=TRUE,
    HICON hIconHot=NULL,
    HICON hIconDisabled=NULL,
    BOOL bAlphaBlend=FALSE);

void SetCheckedImage(
    HBITMAP hBitmap,
    BOOL bAutoDestroy=TRUE,
    HBITMAP hBitmapHot=NULL,
    BOOL bMap3dColors=TRUE,
    HBITMAP hBitmapDisabled=NULL);

void SetCheckedImage(
    UINT uiBmpResId,
    UINT uiBmpHotResId=0,
    UINT uiBmpDsblResID=0);

Parameters

hIcon
[in] Greep naar het pictogram met de bitmap en het masker voor de nieuwe afbeelding.

bAutoDestroy
[in] TRUE om op te geven dat bitmapbronnen automatisch worden vernietigd; anders, FALSE. De standaardwaarde is TRUE.

hIconHot
[in] Greep naar het pictogram met de afbeelding voor de geselecteerde status.

hBitmap
[in] Greep naar de bitmap die de afbeelding voor de niet-geselecteerde status bevat.

hBitmapHot
[in] Greep naar de bitmap die de afbeelding voor de geselecteerde status bevat.

bMap3dColors
[in] Hiermee geeft u een transparante kleur voor de knopachtergrond; Dat wil gezegd, het gezicht van de knop. TRUE de kleurwaarde RGB(192, 192, 192, 192); FALSE om de kleurwaarde te gebruiken die is gedefinieerd door AFX_GLOBAL_DATA::clrBtnFace.

uiBmpResId
[in] Resource-id voor de niet-geselecteerde afbeelding.

uiBmpHotResId
[in] Resource-id voor de geselecteerde afbeelding.

hIconDisabled
[in] Greep naar het pictogram voor de uitgeschakelde afbeelding.

hBitmapDisabled
[in] Greep naar de bitmap die de uitgeschakelde afbeelding bevat.

uiBmpDsblResID
[in] Resource-id van de uitgeschakelde bitmap.

bAlphaBlend
[in] TRUE om slechts 32-bits afbeeldingen te gebruiken die gebruikmaken van het alfakanaal; FALSE, om niet alleen alfakanaalafbeeldingen te gebruiken. De standaardwaarde is FALSE.

CMFCButton::SetFaceColor

Hiermee stelt u de achtergrondkleur voor de knoptekst in.

void SetFaceColor(
    COLORREF crFace,
    BOOL bRedraw=TRUE);

Parameters

crFace
[in] Een RGB-kleurwaarde.

bRedraw
[in] TRUE om het scherm onmiddellijk opnieuw te tekenen; anders, FALSE.

Opmerkingen

Gebruik deze methode om een nieuwe opvulkleur te definiëren voor de knopachtergrond (gezicht). Houd er rekening mee dat de achtergrond niet wordt gevuld wanneer de variabele CMFCButton::m_bTransparent lid is TRUE.

CMFCButton::SetImage

Hiermee stelt u de afbeelding voor een knop in.

void SetImage(
    HICON hIcon,
    BOOL bAutoDestroy=TRUE,
    HICON hIconHot=NULL,
    HICON hIconDisabled=NULL,
    BOOL bAlphaBlend=FALSE);

void SetImage(
    HBITMAP hBitmap,
    BOOL bAutoDestroy=TRUE,
    HBITMAP hBitmapHot=NULL,
    BOOL bMap3dColors=TRUE,
    HBITMAP hBitmapDisabled=NULL);

void SetImage(
    UINT uiBmpResId,
    UINT uiBmpHotResId=0,
    UINT uiBmpDsblResID=0);

Parameters

hIcon
[in] Greep naar het pictogram met de bitmap en het masker voor de nieuwe afbeelding.

bAutoDestroy
[in] TRUE om op te geven dat bitmapbronnen automatisch worden vernietigd; anders, FALSE. De standaardwaarde is TRUE.

hIconHot
[in] Greep naar het pictogram met de afbeelding voor de geselecteerde status.

hBitmap
[in] Greep naar de bitmap die de afbeelding voor de niet-geselecteerde status bevat.

hBitmapHot
[in] Greep naar de bitmap die de afbeelding voor de geselecteerde status bevat.

uiBmpResId
[in] Resource-id voor de niet-geselecteerde afbeelding.

uiBmpHotResId
[in] Resource-id voor de geselecteerde afbeelding.

bMap3dColors
[in] Hiermee geeft u een transparante kleur voor de knopachtergrond; Dat wil gezegd, het gezicht van de knop. TRUE de kleurwaarde RGB(192, 192, 192, 192); FALSE om de kleurwaarde te gebruiken die is gedefinieerd door AFX_GLOBAL_DATA::clrBtnFace.

hIconDisabled
[in] Greep naar het pictogram voor de uitgeschakelde afbeelding.

hBitmapDisabled
[in] Greep naar de bitmap die de uitgeschakelde afbeelding bevat.

uiBmpDsblResID
[in] Resource-id van de uitgeschakelde bitmap.

bAlphaBlend
[in] TRUE om slechts 32-bits afbeeldingen te gebruiken die gebruikmaken van het alfakanaal; FALSE, om niet alleen alfakanaalafbeeldingen te gebruiken. De standaardwaarde is FALSE.

Voorbeeld

In het volgende voorbeeld ziet u hoe u verschillende versies van de methode SetImage in de CMFCButton-klasse gebruikt. Het voorbeeld maakt deel uit van het voorbeeld Nieuwe besturingselementen.

CMFCButton m_Button;
// int m_iImage
// IDB_BTN1_32, IDB_BTN1_HOT_32, IDB_BTN1, IDB_BTN1_HOT are int macros that are #define.
if (m_iImage == 1)
{
   m_Button.SetImage((HBITMAP)NULL);
}
else
{
   m_Button.SetImage(IDB_BTN1_32, IDB_BTN1_HOT_32);
}

CMFCButton::SetMouseCursor

Hiermee stelt u de cursorafbeelding in.

void SetMouseCursor(HCURSOR hcursor);

Parameters

hcursor
[in] De greep van een cursor.

Opmerkingen

Gebruik deze methode om een cursorafbeelding, zoals de handcursor, te koppelen aan de knop. De cursor wordt geladen vanuit de toepassingsbronnen.

Voorbeeld

In het volgende voorbeeld ziet u hoe u de methode SetMouseCursor gebruikt in de klasse CMFCButton. Het voorbeeld maakt deel uit van de code in het voorbeeld van nieuwe besturingselementen.

CMFCButton m_Button;
// int m_iCursor
void CPage1::OnSetCursor()
{
   UpdateData();

   switch (m_iCursor)
   {
   case 0:
      m_Button.SetMouseCursor(NULL);
      break;

   case 1:
      m_Button.SetMouseCursorHand();
      break;

   case 2:
      m_Button.SetMouseCursor(AfxGetApp()->LoadCursor(IDC_CURSOR));
      break;
   }
}

CMFCButton::SetMouseCursorHand

Hiermee stelt u de cursor in op de afbeelding van een hand.

void SetMouseCursorHand();

Opmerkingen

Gebruik deze methode om de cursorafbeelding van een hand te koppelen aan de knop. De cursor wordt geladen vanuit de toepassingsbronnen.

CMFCButton::SetStdImage

Gebruikt een CMenuImages-object om de knopafbeelding in te stellen.

void SetStdImage(
    CMenuImages::IMAGES_IDS id,
    CMenuImages::IMAGE_STATE state=CMenuImages::ImageBlack,
    CMenuImages::IMAGES_IDS idDisabled=(CMenuImages::IMAGES_IDS)0);

Parameters

id
[in] Een van de knopafbeeldings-id's die is gedefinieerd in de opsomming CMenuImage::IMAGES_IDS. De afbeeldingswaarden geven afbeeldingen op, zoals pijlen, spelden en keuzerondjes.

state
[in] Een van de afbeeldingsstatus-id's van de knop die is gedefinieerd in de opsomming CMenuImages::IMAGE_STATE. In de afbeeldingsstatussen worden knopkleuren opgegeven, zoals zwart, grijs, lichtgrijs, wit en donkergrijs. De standaardwaarde is CMenuImages::ImageBlack.

idDisabled
[in] Een van de knopafbeeldings-id's die is gedefinieerd in de opsomming CMenuImage::IMAGES_IDS. De afbeelding geeft aan dat de knop is uitgeschakeld. De standaardwaarde is de eerste knopafbeelding (CMenuImages::IdArrowDown).

CMFCButton::SetTextColor

Hiermee stelt u de kleur van de knoptekst in voor een knop die niet is geselecteerd.

void SetTextColor(COLORREF clrText);

Parameters

clrText
[in] Een RGB-kleurwaarde.

CMFCButton::SetTextHotColor

Hiermee stelt u de kleur van de knoptekst in voor een knop die is geselecteerd.

void SetTextHotColor(COLORREF clrTextHot);

Parameters

clrTextHot
[in] Een RGB-kleurwaarde.

CMFCButton::SetTooltip

Hiermee koppelt u knopinfo aan een knop.

void SetTooltip(LPCTSTR lpszToolTipText);

Parameters

lpszToolTipText
[in] Wijs de tekst voor de knopinfo aan. Geef NULL op om de knopinfo uit te schakelen.

CMFCButton::SizeToContent

Hiermee wijzigt u het formaat van een knop zodat deze de tekst en afbeelding van de knop bevat.

virtual CSize SizeToContent(BOOL bCalcOnly=FALSE);

Parameters

bCalcOnly
[in] TRUE om de nieuwe grootte van de knop te berekenen, maar niet te wijzigen; FALSE de grootte van de knop wijzigen. De standaardwaarde is FALSE.

Retourwaarde

Een CSize-object dat de nieuwe grootte van de knop bevat.

Opmerkingen

Deze methode berekent standaard een nieuwe grootte met een horizontale marge van 10 pixels en een verticale marge van 5 pixels.

Zie ook

Hiërarchiegrafiek
klassen
CMFCLinkCtrl klasse
CMFCColorButton klasse
CMFCMenuButton klasse