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 flat
semi-flat
no 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
Anforderungen
Header: afxbutton.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
TRUE
wenn die Schaltfläche formatiert BS_AUTOCHECKBOX
oder BS_AUTORADIOBUTTON
andernfalls . FALSE
Hinweise
CMFCButton::IsAutorepeatCommandMode
Gibt an, ob eine Schaltfläche auf den automatischen Wiederholungsmodus festgelegt ist.
BOOL IsAutorepeatCommandMode() const;
Rückgabewert
TRUE
wenn 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
TRUE
wenn 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
TRUE
wenn 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
TRUE
wenn die Taste gedrückt wird; andernfalls . FALSE
Hinweise
CMFCButton::IsPushed
Gibt an, ob eine Schaltfläche gedrückt wird.
BOOL IsPushed() const;
Rückgabewert
TRUE
wenn 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
TRUE
wenn 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
TRUE
wenn 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_CHECKBOX
Schaltflä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_CHECKBOX
Schaltflä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