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
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_AUTORADIOBUTTON
heeft; 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 X
bevat.
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