CMFCButton-Klasse

Die CMFCButton Klasse fügt der CButton Klasse Funktionen hinzu, z. B. das Ausrichten von Schaltflächentext, das Kombinieren von Schaltflächentext und ein Bild, das Auswählen eines Cursors und das Angeben einer QuickInfo.

Syntax

class CMFCButton : public CButton

Member

Öffentliche Konstruktoren

Name Beschreibung
CMFCButton::CMFCButton Der Standardkonstruktor.
CMFCButton::~CMFCButton Destruktor.

Öffentliche Methoden

Name Beschreibung
CMFCButton::CleanUp Setzt interne Variablen zurück und gibt zugeordnete Ressourcen wie Bilder, Bitmaps und Symbole frei.
CMFCButton::CreateObject Wird vom Framework verwendet, um eine dynamische Instanz dieses Klassentyps zu erstellen.
CMFCButton::DrawItem Wird vom Framework aufgerufen, wenn sich ein visueller Aspekt einer vom Besitzer gezeichneten Schaltfläche geändert hat. (Überschreibt CButton::DrawItem.)
CMFCButton::EnableFullTextTooltip Gibt an, ob der Volltext einer QuickInfo in einem großen QuickInfo-Fenster oder eine abgeschnittene Version des Texts in einem kleinen QuickInfo-Fenster angezeigt werden soll.
CMFCButton::EnableMenuFont Gibt an, ob die Schriftart des Schaltflächentexts mit der Schriftart des Anwendungsmenüs identisch ist.
CMFCButton::EnableWindowsTheming Gibt an, ob die Formatvorlage des Schaltflächenrahmens dem aktuellen Windows-Design entspricht.
CMFCButton::GetThisClass Wird vom Framework verwendet, um einen Zeiger auf das CRuntimeClass Objekt abzurufen, das diesem Klassentyp zugeordnet ist.
CMFCButton::GetToolTipCtrl Gibt einen Verweis auf das zugrunde liegende QuickInfo-Steuerelement zurück.
CMFCButton::IsAutoCheck Gibt an, ob ein Kontrollkästchen oder Optionsfeld eine automatische Schaltfläche ist.
CMFCButton::IsAutorepeatCommandMode Gibt an, ob eine Schaltfläche auf den automatischen Wiederholungsmodus festgelegt ist.
CMFCButton::IsCheckBox Gibt an, ob es sich bei einer Schaltfläche um eine Kontrollkästchenschaltfläche handelt.
CMFCButton::IsChecked Gibt an, ob die aktuelle Schaltfläche aktiviert ist.
CMFCButton::IsHighlighted Gibt an, ob eine Schaltfläche hervorgehoben ist.
CMFCButton::IsPressed Gibt an, ob eine Schaltfläche gedrückt und hervorgehoben wird.
CMFCButton::IsPushed Gibt an, ob eine Schaltfläche gedrückt wird.
CMFCButton::IsRadioButton Gibt an, ob es sich bei einer Schaltfläche um ein Optionsfeld handelt.
CMFCButton::IsWindowsThemingEnabled Gibt an, ob die Formatvorlage des Schaltflächenrahmens dem aktuellen Windows-Design entspricht.
CMFCButton::OnDrawParentBackground Zeichnet den Hintergrund des übergeordneten Elements einer Schaltfläche im angegebenen Bereich. (Außerkraftsetzungen AFX_GLOBAL_DATA::DrawParentBackground
CMFCButton::PreTranslateMessage Übersetzt Fenstermeldungen, bevor sie an die TranslateMessage Und DispatchMessage Windows-Funktionen verteilt werden. (Überschreibt CWnd::PreTranslateMessage.)
CMFCButton::SetAutorepeatMode Legt eine Schaltfläche auf den automatischen Wiederholungsmodus fest.
CMFCButton::SetCheckedImage Legt das Bild für eine aktivierte Schaltfläche fest.
CMFCButton::SetFaceColor Legt die Hintergrundfarbe für den Schaltflächentext fest.
CMFCButton::SetImage Legt das Bild für eine Schaltfläche fest.
CMFCButton::SetMouseCursor Legt das Cursorbild fest.
CMFCButton::SetMouseCursorHand Legt den Cursor auf das Bild einer Hand fest.
CMFCButton::SetStdImage Verwendet ein CMenuImages Objekt, um das Schaltflächenbild festzulegen.
CMFCButton::SetTextColor Legt die Farbe des Schaltflächentexts für eine Schaltfläche fest, die nicht ausgewählt ist.
CMFCButton::SetTextHotColor Legt die Farbe des Schaltflächentexts für eine ausgewählte Schaltfläche fest.
CMFCButton::SetTooltip Ordnet eine QuickInfo einer Schaltfläche zu.
CMFCButton::SizeToContent Ändert die Größe einer Schaltfläche so, dass er den Text und das Bild der Schaltfläche enthält.

Geschützte Methoden

Name Beschreibung
CMFCButton::OnDraw Vom Framework aufgerufen, um eine Schaltfläche zu zeichnen.
CMFCButton::OnDrawBorder Wird vom Framework aufgerufen, um den Rahmen einer Schaltfläche zu zeichnen.
CMFCButton::OnDrawFocusRect Wird vom Framework aufgerufen, um das Fokusrechteck für eine Schaltfläche zu zeichnen.
CMFCButton::OnDrawText Wird vom Framework aufgerufen, um den Schaltflächentext zu zeichnen.
CMFCButton::OnFillBackground Wird vom Framework aufgerufen, um den Hintergrund des Schaltflächentexts zu zeichnen.
CMFCButton::SelectFont Ruft die Schriftart ab, die dem angegebenen Gerätekontext zugeordnet ist.

Datenelemente

Name Beschreibung
CMFCButton::m_nAlignStyle Gibt die Ausrichtung des Schaltflächentexts an.
CMFCButton::m_bDontUseWinXPTheme Gibt an, ob Windows XP-Designs verwendet werden sollen.
CMFCButton::m_bDrawFocus Gibt an, ob ein Fokusrechteck um eine Schaltfläche gezeichnet werden soll.
CMFCButton::m_nFlatStyle Gibt die Formatvorlage der Schaltfläche an, z. B. rahmenlos, flach, halbflächig oder 3D.
CMFCButton::m_bGrayDisabled Bei TRUE kann eine deaktivierte Schaltfläche als abgeblendt gezeichnet werden.
CMFCButton::m_bHighlightChecked Gibt an, ob eine Schaltfläche im BS_CHECKBOX-Stil hervorgehoben werden soll, wenn der Cursor darauf zeigt.
CMFCButton::m_bResponseOnButtonDown Gibt an, ob auf Schaltflächen-Down-Ereignisse reagiert werden soll.
CMFCButton::m_bRightImage Gibt an, ob ein Bild auf der rechten Seite der Schaltfläche angezeigt werden soll.
CMFCButton::m_bTopImage Gibt an, ob sich das Bild über der Schaltfläche befindet.
CMFCButton::m_bTransparent Gibt an, ob die Schaltfläche transparent ist.
CMFCButton::m_bWasDblClk Gibt an, ob das letzte Klickereignis ein Doppelklick war.

Hinweise

Andere Arten von Schaltflächen werden von der CMFCButton Klasse abgeleitet, z. B. der Klasse, die CMFCURLLinkButton Hyperlinks unterstützt, und der Klasse, die CMFCColorButton ein Dialogfeld für die Farbauswahl unterstützt.

Die Formatvorlage eines CMFCButton Objekts kann 3D, oder flatsemi-flatno border. Schaltflächentext kann links, oben oder mitte einer Schaltfläche ausgerichtet werden. Zur Laufzeit können Sie steuern, ob die Schaltfläche Text, ein Bild oder Text und ein Bild anzeigt. Sie können auch angeben, dass ein bestimmtes Cursorbild angezeigt wird, wenn der Cursor auf eine Schaltfläche zeigt.

Erstellen Sie ein Schaltflächensteuerelement entweder direkt in Ihrem Code oder mithilfe des MFC-Klassen-Assistenten-Tools und einer Dialogfeldvorlage. Wenn Sie ein Schaltflächensteuerelement direkt erstellen, fügen Sie Ihrer Anwendung eine CMFCButton Variable hinzu, und rufen Sie dann den Konstruktor und Create die Methoden des CMFCButton Objekts auf. Wenn Sie den MFC-Klassen-Assistenten verwenden, fügen Sie Ihrer Anwendung eine CButton Variable hinzu, und ändern Sie dann den Typ der Variablen von CButton " in " CMFCButton.

Um Benachrichtigungen in einer Dialogfeldanwendung zu behandeln, fügen Sie einen Nachrichtenzuordnungseintrag und einen Ereignishandler für jede Benachrichtigung hinzu. Die von einem CMFCButton Objekt gesendeten Benachrichtigungen entsprechen denen, die von einem CButton Objekt gesendet werden.

Beispiel

Im folgenden Beispiel wird veranschaulicht, wie die Eigenschaften der Schaltfläche mithilfe verschiedener Methoden in der CMFCButton Klasse konfiguriert werden. Das Beispiel ist Teil des Beispiels "Neue Steuerelemente".

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!"));

Vererbungshierarchie

CObject

CCmdTarget

CWnd

CButton

CMFCButton

Anforderungen

Headerafxbutton.h:

CMFCButton::CleanUp

Setzt interne Variablen zurück und gibt zugeordnete Ressourcen wie Bilder, Bitmaps und Symbole frei.

virtual void CleanUp();

CMFCButton::EnableFullTextTooltip

Gibt an, ob der Volltext einer QuickInfo in einem großen QuickInfo-Fenster oder eine abgeschnittene Version des Texts in einem kleinen QuickInfo-Fenster angezeigt werden soll.

void EnableFullTextTooltip(BOOL bOn=TRUE);

Parameter

bOn
[in] TRUE um den gesamten Text anzuzeigen; FALSE um abgeschnittenen Text anzuzeigen.

Hinweise

CMFCButton::EnableMenuFont

Gibt an, ob die Schriftart des Schaltflächentexts mit der Schriftart des Anwendungsmenüs identisch ist.

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

Parameter

bOn
[in] TRUE um die Schriftart des Anwendungsmenüs als Schriftart für Schaltflächentext zu verwenden; FALSE um die Systemschriftart zu verwenden. Der Standardwert ist TRUE.

bRedraw
[in] TRUE um den Bildschirm sofort neu zu zeichnen; andernfalls . FALSE Der Standardwert ist TRUE.

Hinweise

Wenn Sie diese Methode nicht verwenden, um die Schriftart für schaltflächentext anzugeben, können Sie die Schriftart mit der CWnd::SetFont Methode angeben. Wenn Sie überhaupt keine Schriftart angeben, legt das Framework eine Standardschriftart fest.

CMFCButton::EnableWindowsTheming

Gibt an, ob die Formatvorlage des Schaltflächenrahmens dem aktuellen Windows-Design entspricht.

static void EnableWindowsTheming(BOOL bEnable = TRUE);

Parameter

bEnable
[in] TRUE um das aktuelle Windows-Design zum Zeichnen von Schaltflächenrahmen zu verwenden; FALSE das Windows-Design nicht zu verwenden. Der Standardwert ist TRUE.

Hinweise

Diese Methode wirkt sich auf alle Schaltflächen in Ihrer Anwendung aus, die von der CMFCButton Klasse abgeleitet werden.

CMFCButton::GetToolTipCtrl

Gibt einen Verweis auf das zugrunde liegende QuickInfo-Steuerelement zurück.

CToolTipCtrl& GetToolTipCtrl();

Rückgabewert

Ein Verweis auf das zugrunde liegende QuickInfo-Steuerelement.

Hinweise

CMFCButton::IsAutoCheck

Gibt an, ob ein Kontrollkästchen oder Optionsfeld eine automatische Schaltfläche ist.

BOOL IsAutoCheck() const;

Rückgabewert

TRUEwenn die Schaltfläche formatiert BS_AUTOCHECKBOX oder BS_AUTORADIOBUTTONandernfalls . FALSE

Hinweise

CMFCButton::IsAutorepeatCommandMode

Gibt an, ob eine Schaltfläche auf den automatischen Wiederholungsmodus festgelegt ist.

BOOL IsAutorepeatCommandMode() const;

Rückgabewert

TRUEwenn die Schaltfläche auf den automatischen Wiederholungsmodus festgelegt ist; andernfalls . FALSE

Hinweise

Verwenden Sie die CMFCButton::SetAutorepeatMode Methode, um eine Schaltfläche auf den automatischen Wiederholungsmodus festzulegen.

CMFCButton::IsCheckBox

Gibt an, ob es sich bei einer Schaltfläche um eine Kontrollkästchenschaltfläche handelt.

BOOL IsCheckBox() const;

Rückgabewert

TRUE wenn die Schaltfläche entweder BS_CHECKBOX oder BS_AUTOCHECKBOX formatiert ist; andernfalls FALSE.

Hinweise

CMFCButton::IsChecked

Gibt an, ob die aktuelle Schaltfläche aktiviert ist.

BOOL IsChecked() const;

Rückgabewert

TRUEwenn die aktuelle Schaltfläche aktiviert ist; andernfalls . FALSE

Hinweise

Das Framework verwendet verschiedene Möglichkeiten, um anzugeben, dass verschiedene Arten von Schaltflächen überprüft werden. Beispielsweise wird ein Optionsfeld aktiviert, wenn es einen Punkt enthält. Ein Kontrollkästchen ist aktiviert, wenn es ein X.

CMFCButton::IsHighlighted

Gibt an, ob eine Schaltfläche hervorgehoben ist.

BOOL IsHighlighted() const;

Rückgabewert

TRUEwenn die Schaltfläche hervorgehoben ist; andernfalls . FALSE

Hinweise

Eine Schaltfläche wird hervorgehoben, wenn der Mauszeiger auf die Schaltfläche zeigt.

CMFCButton::IsPressed

Gibt an, ob eine Schaltfläche gedrückt und hervorgehoben wird.

BOOL IsPressed() const;

Rückgabewert

TRUEwenn die Taste gedrückt wird; andernfalls . FALSE

Hinweise

CMFCButton::IsPushed

Gibt an, ob eine Schaltfläche gedrückt wird.

BOOL IsPushed() const;

Rückgabewert

TRUEwenn die Taste gedrückt wird; andernfalls . FALSE

Hinweise

CMFCButton::IsRadioButton

Gibt an, ob es sich bei einer Schaltfläche um ein Optionsfeld handelt.

BOOL IsRadioButton() const;

Rückgabewert

TRUEwenn die Schaltflächenformatvorlage lautet BS_RADIOBUTTON oder BS_AUTORADIOBUTTON; andernfalls . FALSE

Hinweise

CMFCButton::IsWindowsThemingEnabled

Gibt an, ob die Formatvorlage des Schaltflächenrahmens dem aktuellen Windows-Design entspricht.

static BOOL IsWindowsThemingEnabled();

Rückgabewert

TRUEwenn die Formatvorlage des Schaltflächenrahmens dem aktuellen Windows-Design entspricht; andernfalls . FALSE

CMFCButton::m_bDontUseWinXPTheme

Gibt an, ob beim Zeichnen der Schaltfläche Windows XP-Designs verwendet werden sollen.

BOOL m_bDontUseWinXPTheme;

CMFCButton::m_bDrawFocus

Gibt an, ob ein Fokusrechteck um eine Schaltfläche gezeichnet werden soll.

BOOL m_bDrawFocus;

Hinweise

Legen Sie das m_bDrawFocus Element fest, um TRUE anzugeben, dass das Framework ein Fokusrechteck um den Text und das Bild der Schaltfläche zeichnet, wenn die Schaltfläche den Fokus erhält.

Der CMFCButton Konstruktor initialisiert dieses Element in TRUE.

CMFCButton::m_bGrayDisabled

Wenn TRUE, aktiviert, dass eine deaktivierte Schaltfläche als abgeblendet gezeichnet werden kann.

BOOL m_bGrayDisabled;

CMFCButton::m_bHighlightChecked

Gibt an, ob eine BS_CHECKBOXSchaltfläche "-style" hervorgehoben werden soll, wenn der Cursor darauf zeigt.

BOOL m_bHighlightChecked;

Hinweise

Legen Sie das m_bHighlightChecked Element fest, um TRUE anzugeben, dass das Framework eine BS_CHECKBOXSchaltfläche "-style" hervorhebung, wenn der Mauszeiger darauf bewegt wird.

CMFCButton::m_bResponseOnButtonDown

Gibt an, ob auf Schaltflächen-Down-Ereignisse reagiert werden soll.

BOOL m_bResponseOnButtonDown;

CMFCButton::m_bRightImage

Gibt an, ob ein Bild auf der rechten Seite der Schaltfläche angezeigt werden soll.

BOOL m_bRightImage;

CMFCButton::m_bTopImage](#m_bTopImage)

Gibt an, ob sich das Bild über der Schaltfläche befindet.

BOOL m_bTopImage;

Hinweise

Legen Sie das m_bRightImage Element fest, um TRUE anzugeben, dass das Framework das Bild der Schaltfläche rechts neben der Beschriftung der Schaltfläche anzeigt.

CMFCButton::m_bTransparent

Gibt an, ob die Schaltfläche transparent ist.

BOOL m_bTransparent;

Hinweise

Legen Sie das m_bTransparent Element fest, TRUE um anzugeben, dass das Framework die Schaltfläche transparent macht. Der CMFCButton Konstruktor initialisiert dieses Element in FALSE.

CMFCButton::m_nAlignStyle

Gibt die Ausrichtung des Schaltflächentexts an.

AlignStyle m_nAlignStyle;

Hinweise

Verwenden Sie einen der folgenden CMFCButton::AlignStyle Enumerationswerte, um die Ausrichtung des Schaltflächentexts anzugeben:

Wert Beschreibung
ALIGN_CENTER (Standard) Richtet den Schaltflächentext an der Mitte der Schaltfläche aus.
ALIGN_LEFT Richtet den Schaltflächentext links neben der Schaltfläche aus.
ALIGN_RIGHT Richtet den Schaltflächentext rechts neben der Schaltfläche aus.

Der CMFCButton Konstruktor initialisiert dieses Element in ALIGN_CENTER.

CMFCButton::m_bWasDblClk](#m_bWasDblClk)|

Gibt an, ob das letzte Klickereignis ein Doppelklick war.|

BOOL m_bWasDblClk;

CMFCButton::m_nFlatStyle

Gibt die Formatvorlage der Schaltfläche an, z. B. rahmenlos, flach, halbflächig oder 3D.

FlatStyle  m_nFlatStyle;

Hinweise

In der folgenden Tabelle sind die CMFCButton::m_nFlatStyle Enumerationswerte aufgeführt, die die Darstellung einer Schaltfläche angeben.

Wert Beschreibung
BUTTONSTYLE_3D (Standard) Die Schaltfläche scheint über hohe dreidimensionale Seiten zu verfügen. Wenn auf die Schaltfläche geklickt wird, wird die Schaltfläche in einen tiefen Einzug gedrückt.
BUTTONSTYLE_FLAT Wenn die Maus nicht über die Schaltfläche angehalten wird, scheint die Schaltfläche zweidimensional zu sein und hat keine erhöhten Seiten. Wenn die Maus auf der Schaltfläche angehalten wird, scheint die Schaltfläche eine niedrige dreidimensionale Seite zu haben. Wenn auf die Schaltfläche geklickt wird, wird die Schaltfläche in einen flachen Einzug gedrückt.
BUTTONSTYLE_SEMIFLAT Die Schaltfläche scheint niedrige dreidimensionale Seiten zu haben. Wenn auf die Schaltfläche geklickt wird, wird die Schaltfläche in einen tiefen Einzug gedrückt.
BUTTONSTYLE_NOBORDERS Die Schaltfläche hat keine erhöhten Seiten und erscheint immer zweidimensional. Die Schaltfläche wird beim Klicken nicht in einen Einzug gedrückt.

Der CMFCButton Konstruktor initialisiert dieses Element in BUTTONSTYLE_3D.

Beispiel

Im folgenden Beispiel wird veranschaulicht, wie die Werte der m_nFlatStyle Membervariablen in der CMFCButton Klasse festgelegt werden. Dieses Beispiel ist Teil des Beispiels "Neue Steuerelemente".

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

Vom Framework aufgerufen, um eine Schaltfläche zu zeichnen.

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

Parameter

pDC
[in] Ein Zeiger auf einen Gerätekontext.

rect
[in] Ein Verweis auf ein Rechteck, das die Schaltfläche begrenzt.

uiState
[in] Der aktuelle Schaltflächenstatus. Weitere Informationen finden Sie im itemState Element des DRAWITEMSTRUCT Themas "Struktur ".

Hinweise

Überschreiben Sie diese Methode, um ihren eigenen Code zum Zeichnen einer Schaltfläche zu verwenden.

CMFCButton::OnDrawBorder

Wird vom Framework aufgerufen, um den Rahmen einer Schaltfläche zu zeichnen.

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

Parameter

pDC
[in] Ein Zeiger auf einen Gerätekontext.

rectClient
[in] Ein Verweis auf ein Rechteck, das die Schaltfläche begrenzt.

uiState
[in] Der aktuelle Schaltflächenstatus. Weitere Informationen finden Sie im itemState Element des DRAWITEMSTRUCT Themas "Struktur ".

Hinweise

Überschreiben Sie diese Methode, um ihren eigenen Code zum Zeichnen des Rahmens zu verwenden.

CMFCButton::OnDrawFocusRect

Wird vom Framework aufgerufen, um das Fokusrechteck für eine Schaltfläche zu zeichnen.

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

Parameter

pDC
[in] Ein Zeiger auf einen Gerätekontext.

rectClient
[in] Ein Verweis auf ein Rechteck, das die Schaltfläche begrenzt.

Hinweise

Überschreiben Sie diese Methode, um ihren eigenen Code zum Zeichnen des Fokusrechtecks zu verwenden.

CMFCButton::OnDrawText

Wird vom Framework aufgerufen, um den Schaltflächentext zu zeichnen.

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

Parameter

pDC
[in] Ein Zeiger auf einen Gerätekontext.

rect
[in] Ein Verweis auf ein Rechteck, das die Schaltfläche begrenzt.

strText
[in] Der zu zeichnende Text.

uiDTFlags
[in] Flags, die angeben, wie der Text formatiert werden soll. Weitere Informationen finden Sie im nFormat Parameter der CDC::DrawText Methode.

uiState
[in]: Reserviert

Hinweise

Überschreiben Sie diese Methode, um ihren eigenen Code zum Zeichnen des Schaltflächentexts zu verwenden.

CMFCButton::OnFillBackground

Wird vom Framework aufgerufen, um den Hintergrund des Schaltflächentexts zu zeichnen.

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

Parameter

pDC
[in] Ein Zeiger auf einen Gerätekontext.

rectClient
[in] Ein Verweis auf ein Rechteck, das die Schaltfläche begrenzt.

Hinweise

Überschreiben Sie diese Methode, um ihren eigenen Code zum Zeichnen des Hintergrunds einer Schaltfläche zu verwenden.

CMFCButton::SelectFont

Ruft die Schriftart ab, die dem angegebenen Gerätekontext zugeordnet ist.

virtual CFont* SelectFont(CDC* pDC);

Parameter

pDC
[in] Ein Zeiger auf einen Gerätekontext.

Rückgabewert

Überschreiben Sie diese Methode, um ihren eigenen Code zum Abrufen der Schriftart zu verwenden.

Hinweise

CMFCButton::SetAutorepeatMode

Legt eine Schaltfläche auf den automatischen Wiederholungsmodus fest.

void SetAutorepeatMode(int nTimeDelay=500);

Parameter

nTimeDelay
[in] Eine nicht negative Zahl, die das Intervall zwischen Nachrichten angibt, die an das übergeordnete Fenster gesendet werden. Das Intervall wird in Millisekunden gemessen, und der Standardwert beträgt 500 Millisekunden. Geben Sie Null an, um den Automatisch wiederholten Nachrichtenmodus zu deaktivieren.

Hinweise

Diese Methode bewirkt, dass die Schaltfläche nachrichten ständig an das übergeordnete Fenster sendet WM_COMMAND , bis die Schaltfläche losgelassen wird, oder der nTimeDelay Parameter wird auf Null festgelegt.

CMFCButton::SetCheckedImage

Legt das Bild für eine aktivierte Schaltfläche fest.

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);

Parameter

hIcon
[in] Handle to the icon that contains the bitmap and mask for the new image.

bAutoDestroy
[in] TRUE um anzugeben, dass Bitmapressourcen automatisch zerstört werden; andernfalls . FALSE Der Standardwert ist TRUE.

hIconHot
[in] Behandeln Sie das Symbol, das das Bild für den ausgewählten Zustand enthält.

hBitmap
[in] Behandeln Sie die Bitmap, die das Bild für den nicht ausgewählten Zustand enthält.

hBitmapHot
[in] Behandeln Sie die Bitmap, die das Bild für den ausgewählten Zustand enthält.

bMap3dColors
[in] Gibt eine transparente Farbe für den Hintergrund der Schaltfläche an; d. h. das Gesicht der Schaltfläche. TRUE zur Verwendung des Farbwerts RGB(192, 192, 192); FALSE zum Verwenden des durch AFX_GLOBAL_DATA::clrBtnFace.

uiBmpResId
[in] Ressourcen-ID für das nicht ausgewählte Bild.

uiBmpHotResId
[in] Ressourcen-ID für das ausgewählte Bild.

hIconDisabled
[in] Behandeln Sie das Symbol für das deaktivierte Bild.

hBitmapDisabled
[in] Behandeln Sie die Bitmap, die das deaktivierte Bild enthält.

uiBmpDsblResID
[in] Ressourcen-ID der deaktivierten Bitmap.

bAlphaBlend
[in] TRUE nur 32-Bit-Bilder zu verwenden, die den Alphakanal verwenden; FALSE, um nicht nur Alphakanalbilder zu verwenden. Der Standardwert ist FALSE.

Hinweise

CMFCButton::SetFaceColor

Legt die Hintergrundfarbe für den Schaltflächentext fest.

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

Parameter

crFace
[in] Ein RGB-Farbwert.

bRedraw
[in] TRUE um den Bildschirm sofort neu zu zeichnen; andernfalls . FALSE

Hinweise

Verwenden Sie diese Methode, um eine neue Füllfarbe für den Schaltflächenhintergrund (Face) zu definieren. Beachten Sie, dass der Hintergrund nicht gefüllt wird, wenn die CMFCButton::m_bTransparent Membervariable ist TRUE.

CMFCButton::SetImage

Legt das Bild für eine Schaltfläche fest.

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);

Parameter

hIcon
[in] Handle to the icon that contains the bitmap and mask for the new image.

bAutoDestroy
[in] TRUE um anzugeben, dass Bitmapressourcen automatisch zerstört werden; andernfalls . FALSE Der Standardwert ist TRUE.

hIconHot
[in] Behandeln Sie das Symbol, das das Bild für den ausgewählten Zustand enthält.

hBitmap
[in] Behandeln Sie die Bitmap, die das Bild für den nicht ausgewählten Zustand enthält.

hBitmapHot
[in] Behandeln Sie die Bitmap, die das Bild für den ausgewählten Zustand enthält.

uiBmpResId
[in] Ressourcen-ID für das nicht ausgewählte Bild.

uiBmpHotResId
[in] Ressourcen-ID für das ausgewählte Bild.

bMap3dColors
[in] Gibt eine transparente Farbe für den Hintergrund der Schaltfläche an; d. h. das Gesicht der Schaltfläche. TRUE zur Verwendung des Farbwerts RGB(192, 192, 192); FALSE zum Verwenden des durch AFX_GLOBAL_DATA::clrBtnFace.

hIconDisabled
[in] Behandeln Sie das Symbol für das deaktivierte Bild.

hBitmapDisabled
[in] Behandeln Sie die Bitmap, die das deaktivierte Bild enthält.

uiBmpDsblResID
[in] Ressourcen-ID der deaktivierten Bitmap.

bAlphaBlend
[in] TRUE nur 32-Bit-Bilder zu verwenden, die den Alphakanal verwenden; FALSE, um nicht nur Alphakanalbilder zu verwenden. Der Standardwert ist FALSE.

Hinweise

Beispiel

Im folgenden Beispiel wird die Verwendung verschiedener Versionen der SetImage Methode in der CMFCButton Klasse veranschaulicht. Das Beispiel ist Teil des Beispiels "Neue Steuerelemente".

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

Legt das Cursorbild fest.

void SetMouseCursor(HCURSOR hcursor);

Parameter

hcursor
[in] Das Handle eines Cursors.

Hinweise

Verwenden Sie diese Methode, um ein Cursorbild, z. B. den Handcursor, der Schaltfläche zuzuordnen. Der Cursor wird aus den Anwendungsressourcen geladen.

Beispiel

Im folgenden Beispiel wird die Verwendung der SetMouseCursor Methode in der CMFCButton Klasse veranschaulicht. Das Beispiel ist Teil des Codes im Beispiel "Neue Steuerelemente".

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

Legt den Cursor auf das Bild einer Hand fest.

void SetMouseCursorHand();

Hinweise

Verwenden Sie diese Methode, um das Cursorbild einer Hand mit der Schaltfläche zu verknüpfen. Der Cursor wird aus den Anwendungsressourcen geladen.

CMFCButton::SetStdImage

Verwendet ein CMenuImages Objekt, um das Schaltflächenbild festzulegen.

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

Parameter

id
[in] Einer der Schaltflächenbildbezeichner, die in der CMenuImage::IMAGES_IDS Enumeration definiert sind. Die Bildwerte geben Bilder wie Pfeile, Pins und Optionsfelder an.

state
[in] Einer der Schaltflächenbildzustandsbezeichner, die in der CMenuImages::IMAGE_STATE Enumeration definiert sind. Die Bildzustände geben Schaltflächenfarben wie Schwarz, Grau, Hellgrau, Weiß und Dunkelgrau an. Der Standardwert ist CMenuImages::ImageBlack.

idDisabled
[in] Einer der Schaltflächenbildbezeichner, die in der CMenuImage::IMAGES_IDS Enumeration definiert sind. Das Bild gibt an, dass die Schaltfläche deaktiviert ist. Der Standardwert ist das erste Schaltflächenbild ( CMenuImages::IdArrowDown).

Hinweise

CMFCButton::SetTextColor

Legt die Farbe des Schaltflächentexts für eine Schaltfläche fest, die nicht ausgewählt ist.

void SetTextColor(COLORREF clrText);

Parameter

clrText
[in] Ein RGB-Farbwert.

Hinweise

CMFCButton::SetTextHotColor

Legt die Farbe des Schaltflächentexts für eine ausgewählte Schaltfläche fest.

void SetTextHotColor(COLORREF clrTextHot);

Parameter

clrTextHot
[in] Ein RGB-Farbwert.

Hinweise

CMFCButton::SetTooltip

Ordnet eine QuickInfo einer Schaltfläche zu.

void SetTooltip(LPCTSTR lpszToolTipText);

Parameter

lpszToolTipText
[in] Zeigen Sie auf den Text für die QuickInfo. Geben Sie NULL an, um die QuickInfo zu deaktivieren.

Hinweise

CMFCButton::SizeToContent

Ändert die Größe einer Schaltfläche so, dass er den Text und das Bild der Schaltfläche enthält.

virtual CSize SizeToContent(BOOL bCalcOnly=FALSE);

Parameter

bCalcOnly
[in] TRUE um die neue Größe der Schaltfläche zu berechnen, aber nicht zu ändern; FALSE um die Größe der Schaltfläche zu ändern. Der Standardwert ist FALSE.

Rückgabewert

Ein CSize Objekt, das die neue Größe der Schaltfläche enthält.

Hinweise

Standardmäßig berechnet diese Methode eine neue Größe, die einen horizontalen Rand von 10 Pixel und einen vertikalen Rand von 5 Pixeln enthält.

Siehe auch

Hierarchiediagramm
Klassen
CMFCLinkCtrl Klasse
CMFCColorButton Klasse
CMFCMenuButton Klasse