CButton-Klasse
Stellt die Funktionalität von Windows-Schaltflächensteuerelementen bereit.
Syntax
class CButton : public CWnd
Member
Öffentliche Konstruktoren
Name | Beschreibung |
---|---|
CButton::CButton | Erstellt ein CButton -Objekt. |
Öffentliche Methoden
Name | Beschreibung |
---|---|
CButton::Create | Erstellt das Windows-Schaltflächensteuerelement und fügt es an das CButton Objekt an. |
CButton::D rawItem | Überschreiben, um ein vom Besitzer gezeichnetes CButton Objekt zu zeichnen. |
CButton::GetBitmap | Ruft das Handle der Bitmap ab, die zuvor mit SetBitmap festgelegt wurde. |
CButton::GetButtonStyle | Ruft Informationen zum Steuerelementstil der Schaltfläche ab. |
CButton::GetCheck | Ruft den Überprüfungsstatus eines Schaltflächensteuerelements ab. |
CButton::GetCursor | Ruft das Handle des Cursorbilds ab, das zuvor mit SetCursor festgelegt wurde. |
CButton::GetIcon | Ruft das Handle des Symbols ab, das zuvor mit SetIcon festgelegt wurde. |
CButton::GetIdealSize | Ruft die ideale Größe des Schaltflächensteuerelements ab. |
CButton::GetImageList | Ruft die Bildliste des Schaltflächensteuerelements ab. |
CButton::GetNote | Ruft die Notizkomponente des aktuellen Befehlslink-Steuerelements ab. |
CButton::GetNoteLength | Ruft die Länge des Notiztexts für das aktuelle Befehlslink-Steuerelement ab. |
CButton::GetSplitGlyph | Ruft die Glyphe ab, die dem aktuellen Steuerelement für geteilte Schaltflächen zugeordnet ist. |
CButton::GetSplitImageList | Ruft die Bildliste für das aktuelle Steuerelement für geteilte Schaltflächen ab. |
CButton::GetSplitInfo | Ruft Informationen ab, die das aktuelle Steuerelement für geteilte Schaltflächen definieren. |
CButton::GetSplitSize | Ruft das umgebende Rechteck der Dropdownkomponente des aktuellen Steuerelements für geteilte Schaltflächen ab. |
CButton::GetSplitStyle | Ruft die Formatvorlagen für geteilte Schaltflächen ab, die das aktuelle Steuerelement für geteilte Schaltflächen definieren. |
CButton::GetState | Ruft den Überprüfungszustand, den Hervorhebungszustand und den Fokusstatus eines Schaltflächensteuerelements ab. |
CButton::GetTextMargin | Ruft den Textrand des Schaltflächensteuerelements ab. |
CButton::SetBitmap | Gibt eine Bitmap an, die auf der Schaltfläche angezeigt werden soll. |
CButton::SetButtonStyle | Ändert die Formatvorlage einer Schaltfläche. |
CButton::SetCheck | Legt den Prüfstatus eines Schaltflächensteuerelements fest. |
CButton::SetCursor | Gibt ein Cursorbild an, das auf der Schaltfläche angezeigt werden soll. |
CButton::SetDropDownState | Legt den Dropdownstatus des aktuellen Steuerelements für geteilte Schaltflächen fest. |
CButton::SetIcon | Gibt ein Symbol an, das auf der Schaltfläche angezeigt werden soll. |
CButton::SetImageList | Legt die Bildliste des Schaltflächensteuerelements fest. |
CButton::SetNote | Legt die Notiz für das aktuelle Befehlslink-Steuerelement fest. |
CButton::SetSplitGlyph | Ordnet eine angegebene Glyphe dem aktuellen Steuerelement für geteilte Schaltflächen zu. |
CButton::SetSplitImageList | Ordnet eine Bildliste dem aktuellen Steuerelement für geteilte Schaltflächen zu. |
CButton::SetSplitInfo | Gibt Informationen an, die das aktuelle Steuerelement für geteilte Schaltflächen definieren. |
CButton::SetSplitSize | Legt das umgebende Rechteck der Dropdownkomponente des aktuellen Steuerelements für geteilte Schaltflächen fest. |
CButton::SetSplitStyle | Legt die Formatvorlage des aktuellen Steuerelements für geteilte Schaltflächen fest. |
CButton::SetState | Legt den Hervorhebungsstatus eines Schaltflächensteuerelements fest. |
CButton::SetTextMargin | Legt den Textrand des Schaltflächensteuerelements fest. |
Hinweise
Ein Schaltflächensteuerelement ist ein kleines, rechteckiges untergeordnetes Fenster, auf das geklickt und deaktiviert werden kann. Schaltflächen können allein oder in Gruppen verwendet werden und können entweder ohne Text beschriftet oder angezeigt werden. Eine Schaltfläche ändert in der Regel die Darstellung, wenn der Benutzer darauf klickt.
Typische Schaltflächen sind das Kontrollkästchen, optionsfeld und pushbutton. Ein CButton
Objekt kann zu einem dieser Objekte werden, entsprechend der Schaltflächenformatvorlage, die bei der Initialisierung durch die Create-Memberfunktion angegeben ist.
Darüber hinaus unterstützt die von der CBitmapButton-Klasse abgeleitete CButton
CBitmapButton-Klasse die Erstellung von Schaltflächensteuerelementen mit Bitmapbildern anstelle von Text. Eine CBitmapButton
kann separate Bitmaps für die Status "Oben", "Unten", "Unten", "Relevant" und "Deaktiviert" einer Schaltfläche aufweisen.
Sie können ein Schaltflächensteuerelement entweder aus einer Dialogfeldvorlage oder direkt in Ihrem Code erstellen. Rufen Sie in beiden Fällen zuerst den Konstruktor CButton
auf, um das CButton
Objekt zu erstellen. Rufen Sie dann die Create
Memberfunktion auf, um das Windows-Schaltflächensteuerelement zu erstellen und es an das CButton
Objekt anzufügen.
Die Konstruktion kann ein einstufiger Prozess in einer Klasse sein, die von CButton
. Schreiben Sie einen Konstruktor für die abgeleitete Klasse und den Aufruf Create
innerhalb des Konstruktors.
Wenn Sie Windows-Benachrichtigungen behandeln möchten, die von einem Schaltflächensteuerelement an das übergeordnete Steuerelement gesendet werden (in der Regel eine von CDialog abgeleitete Klasse), fügen Sie der übergeordneten Klasse für jede Nachricht eine Elementfunktion für nachrichtenzuordnungs- und Nachrichtenhandlerelement hinzu.
Jeder Nachrichtenzuordnungseintrag hat die folgende Form:
ON_Notification ( ID, memberFxn )
dabei gibt die ID des untergeordneten Fensters des Steuerelements an, das die Benachrichtigung sendet, und memberFxn ist der Name der übergeordneten Memberfunktion, die Sie zum Behandeln der Benachrichtigung geschrieben haben.
Der Funktionsprototyp des übergeordneten Elements lautet wie folgt:
afx_msg void memberFxn();
Mögliche Nachrichtenzuordnungseinträge sind wie folgt:
Karteneintrag | Wird an das übergeordnete Element gesendet, wenn... |
---|---|
ON_BN_CLICKED | Der Benutzer klickt auf eine Schaltfläche. |
ON_BN_DOUBLECLICKED | Der Benutzer doppelklicken auf eine Schaltfläche. |
Wenn Sie ein CButton
Objekt aus einer Dialogressource erstellen, wird das CButton
Objekt automatisch zerstört, wenn der Benutzer das Dialogfeld schließt.
Wenn Sie ein CButton
Objekt in einem Fenster erstellen, müssen Sie es möglicherweise zerstören. Wenn Sie das CButton
Objekt auf dem Heap mithilfe der new
Funktion erstellen, müssen Sie das Objekt aufrufen delete
, um es zu zerstören, wenn der Benutzer das Windows-Schaltflächensteuerelement schließt. Wenn Sie das CButton
Objekt im Stapel erstellen oder in das übergeordnete Dialogobjekt eingebettet sind, wird es automatisch zerstört.
Vererbungshierarchie
CButton
Anforderungen
Header: afxwin.h
CButton::CButton
Erstellt ein CButton
-Objekt.
CButton();
Beispiel
// Declare a button object.
CButton myButton;
CButton::Create
Erstellt das Windows-Schaltflächensteuerelement und fügt es an das CButton
Objekt an.
virtual BOOL Create(
LPCTSTR lpszCaption,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parameter
lpszCaption
Gibt den Text des Schaltflächensteuerelements an.
dwStyle
Gibt die Formatvorlage des Schaltflächensteuerelements an. Wenden Sie eine beliebige Kombination von Schaltflächenformatvorlagen auf die Schaltfläche an.
rect
Gibt die Größe und Position des Schaltflächensteuerelements an. Dabei kann es sich um ein CRect
Objekt oder eine RECT
Struktur handeln.
pParentWnd
Gibt das übergeordnete Fenster des Schaltflächensteuerelements an, in der Regel ein CDialog
. Er darf nicht NULL sein.
Nid
Gibt die ID des Schaltflächensteuerelements an.
Rückgabewert
Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).
Hinweise
Sie erstellen ein CButton
Objekt in zwei Schritten. Rufen Sie zuerst den Konstruktor auf, und rufen Sie ihn dann auf Create
, wodurch das Windows-Schaltflächensteuerelement erstellt und an das CButton
Objekt angefügt wird.
Wenn die WS_VISIBLE Formatvorlage angegeben ist, sendet Windows das Schaltflächensteuerelement alle Nachrichten, die zum Aktivieren und Anzeigen der Schaltfläche erforderlich sind.
Wenden Sie die folgenden Fensterformatvorlagen auf ein Schaltflächensteuerelement an:
WS_CHILD Always
WS_VISIBLE in der Regel
WS_DISABLED selten
WS_GROUP Gruppieren von Steuerelementen
WS_TABSTOP So fügen Sie die Schaltfläche in die Aktivierreihenfolge ein
Beispiel
CButton myButton1, myButton2, myButton3, myButton4;
// Create a push button.
myButton1.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
CRect(10, 10, 100, 30), pParentWnd, 1);
// Create a radio button.
myButton2.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_RADIOBUTTON,
CRect(10, 40, 100, 70), pParentWnd, 2);
// Create an auto 3-state button.
myButton3.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_AUTO3STATE,
CRect(10, 70, 100, 100), pParentWnd, 3);
// Create an auto check box.
myButton4.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_AUTOCHECKBOX,
CRect(10, 100, 100, 130), pParentWnd, 4);
CButton::D rawItem
Wird vom Framework aufgerufen, wenn sich ein visueller Aspekt einer vom Besitzer gezeichneten Schaltfläche geändert hat.
virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
Parameter
lpDrawItemStruct
Ein langer Zeiger auf eine DRAWITEMSTRUCT-Struktur . Die Struktur enthält Informationen über das zu zeichnende Element und den erforderlichen Zeichnungstyp.
Hinweise
Eine vom Besitzer gezeichnete Schaltfläche weist den BS_OWNERDRAW Formatvorlagensatz auf. Überschreiben Sie diese Memberfunktion, um die Zeichnung für ein besitzergezeichnetes CButton
Objekt zu implementieren. Die Anwendung sollte alle GDI-Objekte (Graphics Device Interface) wiederherstellen, die für den in lpDrawItemStruct bereitgestellten Anzeigekontext ausgewählt sind, bevor die Memberfunktion beendet wird.
Siehe auch die BS_ Formatvorlagenwerte.
Beispiel
// NOTE: CMyButton is a class derived from CButton. The CMyButton
// object was created as follows:
//
// CMyButton myButton;
// myButton.Create(_T("My button"),
// WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON|BS_OWNERDRAW,
// CRect(10,10,100,30), pParentWnd, 1);
//
// This example implements the DrawItem method for a CButton-derived
// class that draws the button's text using the color red.
void CMyButton::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
{
UINT uStyle = DFCS_BUTTONPUSH;
// This code only works with buttons.
ASSERT(lpDrawItemStruct->CtlType == ODT_BUTTON);
// If drawing selected, add the pushed style to DrawFrameControl.
if (lpDrawItemStruct->itemState & ODS_SELECTED)
uStyle |= DFCS_PUSHED;
// Draw the button frame.
::DrawFrameControl(lpDrawItemStruct->hDC, &lpDrawItemStruct->rcItem,
DFC_BUTTON, uStyle);
// Get the button's text.
CString strText;
GetWindowText(strText);
// Draw the button text using the text color red.
COLORREF crOldColor = ::SetTextColor(lpDrawItemStruct->hDC, RGB(255, 0, 0));
::DrawText(lpDrawItemStruct->hDC, strText, strText.GetLength(),
&lpDrawItemStruct->rcItem, DT_SINGLELINE | DT_VCENTER | DT_CENTER);
::SetTextColor(lpDrawItemStruct->hDC, crOldColor);
}
CButton::GetBitmap
Rufen Sie diese Memberfunktion auf, um das Handle einer Bitmap abzurufen, die zuvor mit SetBitmap festgelegt wurde, die einer Schaltfläche zugeordnet ist.
HBITMAP GetBitmap() const;
Rückgabewert
Ein Handle zu einer Bitmap. NULL, wenn zuvor keine Bitmap angegeben wurde.
Beispiel
CButton myBitmapButton;
// Create a bitmap button.
myBitmapButton.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_BITMAP,
CRect(10, 10, 60, 50), pParentWnd, 1);
// If no bitmap is defined for the button, define the bitmap to the
// system close bitmap.
if (myBitmapButton.GetBitmap() == NULL)
myBitmapButton.SetBitmap(::LoadBitmap(NULL, MAKEINTRESOURCE(OBM_CLOSE)));
CButton::GetButtonStyle
Ruft Informationen zum Steuerelementstil der Schaltfläche ab.
UINT GetButtonStyle() const;
Rückgabewert
Gibt die Schaltflächenformatvorlagen für dieses CButton
Objekt zurück. Diese Funktion gibt nur die BS_ Formatvorlagenwerte zurück, nicht die anderen Fensterformatvorlagen.
Beispiel
CButton myRadioButton;
// Create a radio button.
myRadioButton.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_RADIOBUTTON,
CRect(10, 10, 100, 30), pParentWnd, 1);
// Change the button style to use one of the "auto" styles; for
// push button, change to def push button.
UINT uStyle = myRadioButton.GetButtonStyle();
if (uStyle == BS_PUSHBUTTON)
uStyle = BS_DEFPUSHBUTTON;
else if (uStyle == BS_RADIOBUTTON)
uStyle = BS_AUTORADIOBUTTON;
else if (uStyle == BS_CHECKBOX)
uStyle = BS_AUTOCHECKBOX;
else if (uStyle == BS_3STATE)
uStyle = BS_AUTO3STATE;
// Change the button style to the one wanted.
myRadioButton.SetButtonStyle(uStyle);
CButton::GetCheck
Ruft den Kontrollkästchenstatus eines Optionsfelds oder Kontrollkästchens ab.
int GetCheck() const;
Rückgabewert
Der Rückgabewert eines Schaltflächensteuerelements, das mit dem BS_AUTOCHECKBOX, BS_AUTORADIOBUTTON, BS_AUTO3STATE, BS_CHECKBOX, BS_RADIOBUTTON oder BS_3STATE Format erstellt wurde, ist einer der folgenden Werte:
Wert | Bedeutung |
---|---|
BST_UNCHECKED | Der Schaltflächenstatus ist deaktiviert. |
BST_CHECKED | Der Schaltflächenstatus ist aktiviert. |
BST_INDETERMINATE | Der Schaltflächenzustand ist unbestimmt (gilt nur, wenn die Schaltfläche über die BS_3STATE oder BS_AUTO3STATE Formatvorlage verfügt). |
Wenn die Schaltfläche eine andere Formatvorlage aufweist, wird der Rückgabewert BST_UNCHECKED.
Beispiel
CButton myA3Button;
// Create an auto 3-state button.
myA3Button.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_AUTO3STATE,
CRect(10, 10, 100, 30), pParentWnd, 1);
// Set the check state to the next state
// (i.e. BST_UNCHECKED changes to BST_CHECKED
// BST_CHECKED changes to BST_INDETERMINATE
// BST_INDETERMINATE changes to BST_UNCHECKED).
myA3Button.SetCheck(((myA3Button.GetCheck() + 1) % 3));
CButton::GetCursor
Rufen Sie diese Memberfunktion auf, um das Handle eines Cursors abzurufen, der zuvor mit SetCursor festgelegt wurde, das einer Schaltfläche zugeordnet ist.
HCURSOR GetCursor();
Rückgabewert
Ein Handle zu einem Cursorbild. NULL, wenn zuvor kein Cursor angegeben wurde.
Beispiel
CButton myIconButton;
// Create an icon button.
myIconButton.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_ICON,
CRect(10, 10, 60, 50), pParentWnd, 1);
// If no image is defined for the button, define the image to the
// system arrow and question mark cursor.
if (myIconButton.GetCursor() == NULL)
myIconButton.SetCursor(::LoadCursor(NULL, IDC_HELP));
CButton::GetIcon
Rufen Sie diese Memberfunktion auf, um das Handle eines Symbols abzurufen, das zuvor mit SetIcon festgelegt wurde, das einer Schaltfläche zugeordnet ist.
HICON GetIcon() const;
Rückgabewert
Ein Handle zu einem Symbol. NULL, wenn zuvor kein Symbol angegeben wurde.
Beispiel
CButton myIconButton2;
// Create an icon button.
myIconButton2.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_ICON,
CRect(10, 10, 60, 50), pParentWnd, 1);
// If no icon is defined for the button, define the icon to the
// system error icon.
if (myIconButton2.GetIcon() == NULL)
myIconButton2.SetIcon(::LoadIcon(NULL, IDI_ERROR));
CButton::GetIdealSize
Ruft die ideale Größe für das Schaltflächensteuerelement ab.
BOOL GetIdealSize(SIZE* psize);
Parameter
psize
Ein Zeiger auf die aktuelle Größe der Schaltfläche.
Rückgabewert
Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).
Hinweise
Diese Memberfunktion emuliert die Funktionalität der BCM_GETIDEALSIZE Nachricht, wie im Abschnitt "Schaltflächen" des Windows SDK beschrieben.
CButton::GetImageList
Rufen Sie diese Methode auf, um die Bildliste aus dem Schaltflächensteuerelement abzurufen.
BOOL GetImageList(PBUTTON_IMAGELIST pbuttonImagelist);
Parameter
pbuttonImagelist
Ein Zeiger auf die Bildliste des CButton
Objekts.
Rückgabewert
Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).
Hinweise
Diese Memberfunktion emuliert die Funktionalität der BCM_GETIMAGELIST Nachricht, wie im Abschnitt "Schaltflächen" des Windows SDK beschrieben.
CButton::GetNote
Ruft den Notiztext ab, der dem aktuellen Befehlslink-Steuerelement zugeordnet ist.
CString GetNote() const;
BOOL GetNote(
LPTSTR lpszNote,
UINT* cchNote) const;
Parameter
lpszNote
[out] Zeigen Sie auf einen Puffer, den der Aufrufer für die Zuordnung und Zuordnung verantwortlich ist. Wenn der Rückgabewert WAHR ist, enthält der Puffer den Notiztext, der dem aktuellen Befehlslink-Steuerelement zugeordnet ist. andernfalls ist der Puffer unverändert.
cchNote
[in, out] Ein Zeiger auf eine nicht signierte ganzzahlige Variable. Wenn diese Methode aufgerufen wird, enthält die Variable die Größe des durch den lpszNote-Parameter angegebenen Puffers. Wenn diese Methode zurückgegeben wird, wenn der Rückgabewert WAHR ist, enthält die Variable die Größe der Notiz, die dem aktuellen Befehlslink-Steuerelement zugeordnet ist. Wenn der Rückgabewert FALSCH ist, enthält die Variable die puffergröße, die erforderlich ist, um die Notiz zu enthalten.
Rückgabewert
In der ersten Überladung enthält ein CString-Objekt , das den Notiztext enthält, der dem aktuellen Befehlslink-Steuerelement zugeordnet ist.
Oder
In der zweiten Überladung TRUE, wenn diese Methode erfolgreich ist; andernfalls FALSE.
Hinweise
Verwenden Sie diese Methode nur für Steuerelemente, deren Schaltflächenformat BS_COMMANDLINK oder BS_DEFCOMMANDLINK ist.
Diese Methode sendet die BCM_GETNOTE Nachricht, die im Windows SDK beschrieben wird.
CButton::GetNoteLength
Ruft die Länge des Notiztexts für das aktuelle Befehlslink-Steuerelement ab.
UINT GetNoteLength() const;
Rückgabewert
Die Länge des Notiztexts in 16-Bit-Unicode-Zeichen für das aktuelle Befehlslink-Steuerelement.
Hinweise
Verwenden Sie diese Methode nur für Steuerelemente, deren Schaltflächenformat BS_COMMANDLINK oder BS_DEFCOMMANDLINK ist.
Diese Methode sendet die BCM_GETNOTELENGTH Nachricht, die im Windows SDK beschrieben wird.
CButton::GetSplitGlyph
Ruft die Glyphe ab, die dem aktuellen Steuerelement für geteilte Schaltflächen zugeordnet ist.
TCHAR GetSplitGlyph() const;
Rückgabewert
Das Glyphenzeichen, das dem aktuellen Steuerelement für geteilte Schaltflächen zugeordnet ist.
Hinweise
Eine Glyphe ist die physische Darstellung eines Zeichens in einer bestimmten Schriftart. Beispielsweise kann ein Steuerelement für geteilte Schaltflächen mit der Glyphe des Unicode-Häkchens (U+2713) versehen werden.
Verwenden Sie diese Methode nur für Steuerelemente, deren Schaltflächenformat BS_SPLITBUTTON oder BS_DEFSPLITBUTTON ist.
Diese Methode initialisiert das mask
Element einer BUTTON_SPLITINFO-Struktur mit dem BCSIF_GLYPH-Flag und sendet diese Struktur dann in der BCM_GETSPLITINFO Nachricht, die im Windows SDK beschrieben wird. Wenn die Nachrichtenfunktion zurückgegeben wird, ruft diese Methode die Glyphe aus dem himlGlyph
Element der Struktur ab.
CButton::GetSplitImageList
Ruft die Bildliste für das aktuelle Steuerelement für geteilte Schaltflächen ab.
CImageList* GetSplitImageList() const;
Rückgabewert
Ein Zeiger auf ein CImageList-Objekt .
Hinweise
Verwenden Sie diese Methode nur für Steuerelemente, deren Schaltflächenformat BS_SPLITBUTTON oder BS_DEFSPLITBUTTON ist.
Diese Methode initialisiert das mask
Element einer BUTTON_SPLITINFO Struktur mit dem BCSIF_IMAGE-Flag und sendet diese Struktur dann in der BCM_GETSPLITINFO Nachricht, die im Windows SDK beschrieben wird. Wenn die Nachrichtenfunktion zurückgegeben wird, ruft diese Methode die Bildliste aus dem himlGlyph
Element der Struktur ab.
CButton::GetSplitInfo
Ruft Parameter ab, die bestimmen, wie Windows das aktuelle Steuerelement für geteilte Schaltflächen zeichnet.
BOOL GetSplitInfo(PBUTTON_SPLITINFO pInfo) const;
Parameter
pInfo
[out] Zeiger auf eine BUTTON_SPLITINFO Struktur, die Informationen zum aktuellen Steuerelement für geteilte Schaltflächen empfängt. Der Aufrufer ist für die Zuordnung der Struktur verantwortlich.
Rückgabewert
TRUE, wenn diese Methode erfolgreich ist; andernfalls FALSE.
Hinweise
Verwenden Sie diese Methode nur für Steuerelemente, deren Schaltflächenformat BS_SPLITBUTTON oder BS_DEFSPLITBUTTON ist.
Diese Methode sendet die BCM_GETSPLITINFO Nachricht, die im Windows SDK beschrieben wird.
CButton::GetSplitSize
Ruft das umgebende Rechteck der Dropdownkomponente des aktuellen Steuerelements für geteilte Schaltflächen ab.
BOOL GetSplitSize(LPSIZE pSize) const;
Parameter
pSize
[out] Zeiger auf eine SIZE-Struktur , die die Beschreibung eines Rechtecks empfängt.
Rückgabewert
TRUE, wenn diese Methode erfolgreich ist; andernfalls FALSE.
Hinweise
Verwenden Sie diese Methode nur für Steuerelemente, deren Schaltflächenformat BS_SPLITBUTTON oder BS_DEFSPLITBUTTON ist.
Wenn das Steuerelement für geteilte Schaltflächen erweitert wird, kann es eine Dropdownkomponente wie ein Listensteuerelement oder ein Pager-Steuerelement anzeigen. Diese Methode ruft das umgebende Rechteck ab, das die Dropdownkomponente enthält.
Diese Methode initialisiert das mask
Element einer BUTTON_SPLITINFO-Struktur mit dem BCSIF_SIZE-Flag und sendet diese Struktur dann in der BCM_GETSPLITINFO Nachricht, die im Windows SDK beschrieben wird. Wenn die Nachrichtenfunktion zurückgegeben wird, ruft diese Methode das umgebende Rechteck aus dem size
Element der Struktur ab.
CButton::GetSplitStyle
Ruft die Formatvorlagen für geteilte Schaltflächen ab, die das aktuelle Steuerelement für geteilte Schaltflächen definieren.
UINT GetSplitStyle() const;
Rückgabewert
Eine bitweise Kombination von Stilen für geteilte Schaltflächen. Weitere Informationen finden Sie im uSplitStyle
Element der BUTTON_SPLITINFO Struktur.
Hinweise
Verwenden Sie diese Methode nur für Steuerelemente, deren Schaltflächenformat BS_SPLITBUTTON oder BS_DEFSPLITBUTTON ist.
Die Formatvorlagen für geteilte Schaltflächen geben die Ausrichtung, das Seitenverhältnis und das grafische Format an, mit dem Windows ein Symbol für geteilte Schaltflächen zeichnet.
Diese Methode initialisiert das mask
Element einer BUTTON_SPLITINFO-Struktur mit dem BCSIF_STYLE-Flag und sendet diese Struktur dann in der BCM_GETSPLITINFO Nachricht, die im Windows SDK beschrieben wird. Wenn die Nachrichtenfunktion zurückgegeben wird, ruft diese Methode die Formatvorlagen für geteilte Schaltflächen aus dem uSplitStyle
Element der Struktur ab.
CButton::GetState
Ruft den Status eines Schaltflächensteuerelements ab.
UINT GetState() const;
Rückgabewert
Ein Bitfeld, das die Kombination von Werten enthält, die den aktuellen Zustand eines Schaltflächensteuerelements angeben. In der folgenden Tabelle sind die möglichen Werte aufgelistet.
Tastenzustand | Wert | Beschreibung |
---|---|---|
BST_UNCHECKED | 0x0000 | Der Anfangszustand. |
BST_CHECKED | 0x0001 | Das Schaltflächensteuerelement ist aktiviert. |
BST_INDETERMINATE | 0x0002 | Der Zustand ist unbestimmt (nur möglich, wenn das Schaltflächensteuerelement drei Zustände hat). |
BST_PUSHED | 0x0004 | Das Schaltflächensteuerelement wird gedrückt. |
BST_FOCUS | 0x0008 | Das Schaltflächensteuerelement hat den Fokus. |
Hinweise
Ein Schaltflächensteuerelement mit dem BS_3STATE- oder BS_AUTO3STATE-Schaltflächenstil erstellt ein Kontrollkästchen mit einem dritten Zustand, der den unbestimmten Zustand bezeichnet. Der unbestimmte Zustand gibt an, dass das Kontrollkästchen weder aktiviert noch deaktiviert ist.
Beispiel
CButton myPushButton;
// Create a push button.
myPushButton.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
CRect(10, 10, 100, 30), pParentWnd, 1);
// Invert the highlight state of the button.
myPushButton.SetState(!(myPushButton.GetState() & 0x0004));
CButton::GetTextMargin
Rufen Sie diese Methode auf, um den Textrand des CButton
Objekts abzurufen.
BOOL GetTextMargin(RECT* pmargin);
Parameter
pmargin
Ein Zeiger auf den Textrand des CButton
Objekts.
Rückgabewert
Gibt den Textrand zurück. Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).
Hinweise
Diese Memberfunktion emuliert die Funktionalität der BCM_GETTEXTMARGIN Nachricht, wie im Abschnitt "Schaltflächen" des Windows SDK beschrieben.
CButton::SetBitmap
Rufen Sie diese Memberfunktion auf, um der Schaltfläche eine neue Bitmap zuzuordnen.
HBITMAP SetBitmap(HBITMAP hBitmap);
Parameter
hBitmap
Das Handle einer Bitmap.
Rückgabewert
Das Handle einer Bitmap, die zuvor der Schaltfläche zugeordnet war.
Hinweise
Die Bitmap wird automatisch auf der Oberfläche der Schaltfläche platziert, die standardmäßig zentriert ist. Wenn die Bitmap für die Schaltfläche zu groß ist, wird sie auf beiden Seiten abgeschnitten. Sie können andere Ausrichtungsoptionen auswählen, einschließlich der folgenden Optionen:
BS_TOP
BS_LEFT
BS_RIGHT
BS_CENTER
BS_BOTTOM
BS_VCENTER
Im Gegensatz zu CBitmapButton, das vier Bitmaps pro Schaltfläche verwendet, SetBitmap
verwendet nur eine Bitmap pro Schaltfläche. Wenn die Schaltfläche gedrückt wird, wird die Bitmap angezeigt, um nach unten und nach rechts zu wechseln.
Sie sind dafür verantwortlich, die Bitmap freizugeben, wenn Sie damit fertig sind.
Beispiel
CButton myBitmapButton;
// Create a bitmap button.
myBitmapButton.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_BITMAP,
CRect(10, 10, 60, 50), pParentWnd, 1);
// If no bitmap is defined for the button, define the bitmap to the
// system close bitmap.
if (myBitmapButton.GetBitmap() == NULL)
myBitmapButton.SetBitmap(::LoadBitmap(NULL, MAKEINTRESOURCE(OBM_CLOSE)));
CButton::SetButtonStyle
Ändert die Formatvorlage einer Schaltfläche.
void SetButtonStyle(
UINT nStyle,
BOOL bRedraw = TRUE);
Parameter
nStyle
Gibt das Schaltflächenformat an.
bRedraw
Gibt an, ob die Schaltfläche neu gezeichnet werden soll. Ein Wert ungleich Null wird die Schaltfläche neu gezeichnet. Ein 0-Wert gezeichnet die Schaltfläche nicht neu. Die Schaltfläche wird standardmäßig neu gezeichnet.
Hinweise
Verwenden Sie die GetButtonStyle
Memberfunktion, um das Schaltflächenformat abzurufen. Das Wort mit niedriger Reihenfolge des vollständigen Schaltflächenformats ist die schaltflächenspezifische Formatvorlage.
Beispiel
CButton myRadioButton;
// Create a radio button.
myRadioButton.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_RADIOBUTTON,
CRect(10, 10, 100, 30), pParentWnd, 1);
// Change the button style to use one of the "auto" styles; for
// push button, change to def push button.
UINT uStyle = myRadioButton.GetButtonStyle();
if (uStyle == BS_PUSHBUTTON)
uStyle = BS_DEFPUSHBUTTON;
else if (uStyle == BS_RADIOBUTTON)
uStyle = BS_AUTORADIOBUTTON;
else if (uStyle == BS_CHECKBOX)
uStyle = BS_AUTOCHECKBOX;
else if (uStyle == BS_3STATE)
uStyle = BS_AUTO3STATE;
// Change the button style to the one wanted.
myRadioButton.SetButtonStyle(uStyle);
CButton::SetCheck
Legt den Kontrollkästchenstatus eines Optionsfelds oder Kontrollkästchens fest oder setzt sie zurück.
void SetCheck(int nCheck);
Parameter
nCheck
Gibt den Überprüfungsstatus an. Der Parameter kann eine der folgenden Einstellungen haben:
Wert | Bedeutung |
---|---|
BST_UNCHECKED | Legen Sie den Schaltflächenstatus auf deaktiviert fest. |
BST_CHECKED | Legen Sie den aktivierten Schaltflächenstatus fest. |
BST_INDETERMINATE | Legen Sie den Schaltflächenstatus auf unbestimmt fest. Dieser Wert kann nur verwendet werden, wenn die Schaltfläche das BS_3STATE oder BS_AUTO3STATE Format aufweist. |
Hinweise
Diese Memberfunktion hat keine Auswirkung auf eine Taste.
Beispiel
CButton myA3Button;
// Create an auto 3-state button.
myA3Button.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_AUTO3STATE,
CRect(10, 10, 100, 30), pParentWnd, 1);
// Set the check state to the next state
// (i.e. BST_UNCHECKED changes to BST_CHECKED
// BST_CHECKED changes to BST_INDETERMINATE
// BST_INDETERMINATE changes to BST_UNCHECKED).
myA3Button.SetCheck(((myA3Button.GetCheck() + 1) % 3));
CButton::SetCursor
Rufen Sie diese Memberfunktion auf, um der Schaltfläche einen neuen Cursor zuzuordnen.
HCURSOR SetCursor(HCURSOR hCursor);
Parameter
hCursor
Das Handle eines Cursors.
Rückgabewert
Das Handle eines Cursors, der zuvor der Schaltfläche zugeordnet war.
Hinweise
Der Cursor wird automatisch auf der Oberfläche der Schaltfläche platziert, die standardmäßig zentriert ist. Wenn der Cursor für die Schaltfläche zu groß ist, wird er auf beiden Seiten abgeschnitten. Sie können andere Ausrichtungsoptionen auswählen, einschließlich der folgenden Optionen:
BS_TOP
BS_LEFT
BS_RIGHT
BS_CENTER
BS_BOTTOM
BS_VCENTER
Im Gegensatz zu CBitmapButton, das vier Bitmaps pro Schaltfläche verwendet, SetCursor
verwendet nur einen Cursor pro Schaltfläche. Wenn die Schaltfläche gedrückt wird, wird der Cursor nach unten und nach rechts verschoben.
Beispiel
CButton myIconButton;
// Create an icon button.
myIconButton.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_ICON,
CRect(10, 10, 60, 50), pParentWnd, 1);
// If no image is defined for the button, define the image to the
// system arrow and question mark cursor.
if (myIconButton.GetCursor() == NULL)
myIconButton.SetCursor(::LoadCursor(NULL, IDC_HELP));
CButton::SetDropDownState
Legt den Dropdownstatus des aktuellen Steuerelements für geteilte Schaltflächen fest.
BOOL SetDropDownState(BOOL fDropDown);
Parameter
fDropDown
[in] TRUE, um BST_DROPDOWNPUSHED Zustand festzulegen; andernfalls FALSE.
Rückgabewert
TRUE, wenn diese Methode erfolgreich ist; andernfalls FALSE.
Hinweise
Ein Steuerelement für geteilte Schaltflächen verfügt über eine Formatvorlage BS_SPLITBUTTON oder BS_DEFSPLITBUTTON und besteht aus einer Schaltfläche und einem Dropdownpfeil rechts. Weitere Informationen finden Sie unter Schaltflächenformatvorlagen. Normalerweise wird der Dropdownstatus festgelegt, wenn der Benutzer auf den Dropdownpfeil klickt. Verwenden Sie diese Methode, um den Dropdownstatus des Steuerelements programmgesteuert festzulegen. Der Dropdownpfeil wird schattiert gezeichnet, um den Zustand anzugeben.
Diese Methode sendet die BCM_SETDROPDOWNSTATE Nachricht, die im Windows SDK beschrieben wird.
Beispiel
Im ersten Codebeispiel wird die Variable definiert, m_splitButton
die für den programmgesteuerten Zugriff auf das Steuerelement für geteilte Schaltflächen verwendet wird. Diese Variable wird im folgenden Beispiel verwendet.
public:
// Variable to access programatically defined command link control.
CButton m_cmdLink;
// Variable to access programatically defined split button control.
CButton m_splitButton;
Im nächsten Codebeispiel wird der Status des Steuerelements für geteilte Schaltflächen festgelegt, um anzugeben, dass der Dropdownpfeil gedrückt wird.
/* Set the state of the split button control to indicate that
the drop-down arrow is pushed. The arrow is drawn shaded to
indicate the state.
*/
m_splitButton.SetDropDownState(TRUE);
CButton::SetElevationRequired
Legt den Status des aktuellen Schaltflächen-Steuerelements fest elevation required
, das für das Steuerelement erforderlich ist, um ein Sicherheitssymbol mit erhöhten Rechten anzuzeigen.
BOOL SetElevationRequired(BOOL fElevationRequired);
Parameter
fElevationRequired
[in] TRUE zum Festlegen elevation required
des Zustands; andernfalls FALSE.
Rückgabewert
TRUE, wenn diese Methode erfolgreich ist; andernfalls FALSE.
Hinweise
Wenn für ein Schaltflächen- oder Befehlslink-Steuerelement erhöhte Sicherheitsberechtigungen zum Ausführen einer Aktion erforderlich sind, legen Sie das Steuerelement auf elevation required
"Status" fest. Anschließend zeigt Windows das Schildsymbol für benutzerkontensteuerung (User Account Control, UAC) auf dem Steuerelement an. Weitere Informationen finden Sie unter Benutzerkontensteuerung.
Diese Methode sendet die BCM_SETSHIELD Nachricht, die im Windows SDK beschrieben wird.
CButton::SetIcon
Rufen Sie diese Memberfunktion auf, um der Schaltfläche ein neues Symbol zuzuordnen.
HICON SetIcon(HICON hIcon);
Parameter
hIcon
Das Handle eines Symbols.
Rückgabewert
Das Handle eines Symbols, das zuvor der Schaltfläche zugeordnet war.
Hinweise
Das Symbol wird automatisch auf der Oberfläche der Schaltfläche platziert, die standardmäßig zentriert ist. Wenn das Symbol für die Schaltfläche zu groß ist, wird es auf beiden Seiten abgeschnitten. Sie können andere Ausrichtungsoptionen auswählen, einschließlich der folgenden Optionen:
BS_TOP
BS_LEFT
BS_RIGHT
BS_CENTER
BS_BOTTOM
BS_VCENTER
Im Gegensatz zu CBitmapButton, das vier Bitmaps pro Schaltfläche verwendet, SetIcon
verwendet nur ein Symbol pro Schaltfläche. Wenn die Schaltfläche gedrückt wird, wird das Symbol angezeigt, um nach unten und nach rechts zu wechseln.
Beispiel
CButton myIconButton2;
// Create an icon button.
myIconButton2.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_ICON,
CRect(10, 10, 60, 50), pParentWnd, 1);
// If no icon is defined for the button, define the icon to the
// system error icon.
if (myIconButton2.GetIcon() == NULL)
myIconButton2.SetIcon(::LoadIcon(NULL, IDI_ERROR));
CButton::SetImageList
Rufen Sie diese Methode auf, um die Bildliste des CButton
Objekts festzulegen.
BOOL SetImageList(PBUTTON_IMAGELIST pbuttonImagelist);
Parameter
pbuttonImagelist
Ein Zeiger auf die neue Bildliste.
Rückgabewert
Gibt WAHR für Erfolg, FALSE bei Fehler zurück.
Hinweise
Diese Memberfunktion emuliert die Funktionalität der BCM_SETIMAGELIST Nachricht, wie im Abschnitt "Schaltflächen" des Windows SDK beschrieben.
CButton::SetNote
Legt den Notiztext für das aktuelle Befehlslink-Steuerelement fest.
BOOL SetNote(LPCTSTR lpszNote);
Parameter
lpszNote
[in] Zeigen Sie auf eine Unicode-Zeichenfolge, die als Notiztext für das Befehlslink-Steuerelement festgelegt ist.
Rückgabewert
TRUE, wenn diese Methode erfolgreich ist; andernfalls FALSE.
Hinweise
Verwenden Sie diese Methode nur für Steuerelemente, deren Schaltflächenformat BS_COMMANDLINK oder BS_DEFCOMMANDLINK ist.
Diese Methode sendet die BCM_SETNOTE Nachricht, die im Windows SDK beschrieben wird.
Beispiel
Im ersten Codebeispiel wird die Variable definiert, m_cmdLink
die für den programmgesteuerten Zugriff auf das Befehlslink-Steuerelement verwendet wird. Diese Variable wird im folgenden Beispiel verwendet.
public:
// Variable to access programatically defined command link control.
CButton m_cmdLink;
// Variable to access programatically defined split button control.
CButton m_splitButton;
Im nächsten Codebeispiel wird der Notiztext für das Befehlslink-Steuerelement festgelegt.
// Set the command link text.
m_cmdLink.SetNote(_T("This is the command link note."));
CButton::SetSplitGlyph
Ordnet eine angegebene Glyphe dem aktuellen Steuerelement für geteilte Schaltflächen zu.
BOOL SetSplitGlyph(TCHAR chGlyph);
Parameter
chGlyph
[in] Ein Zeichen, das die Glyphe angibt, die als Dropdownpfeil der geteilten Schaltfläche verwendet werden soll.
Rückgabewert
TRUE, wenn diese Methode erfolgreich ist; andernfalls FALSE.
Hinweise
Verwenden Sie diese Methode nur für Steuerelemente mit der Schaltflächenformatvorlage BS_SPLITBUTTON oder BS_DEFSPLITBUTTON.
Eine Glyphe ist die physische Darstellung eines Zeichens in einer bestimmten Schriftart. Der ChGlyph-Parameter wird nicht als Glyphe verwendet, sondern stattdessen verwendet, um eine Glyphe aus einem Satz systemdefinierter Glyphen auszuwählen. Die standardmäßige Dropdownpfeilglyphe wird durch ein Zeichen "6" angegeben und ähnelt dem Unicode-Zeichen BLACK DOWN-POINTING TRIANGLE (U+25BC).
Diese Methode initialisiert das mask
Element einer BUTTON_SPLITINFO-Struktur mit dem BCSIF_GLYPH-Flag und dem himlGlyph
Element mit dem ChGlyph-Parameter und sendet diese Struktur dann in der BCM_GETSPLITINFO Nachricht, die im Windows SDK beschrieben wird.
CButton::SetSplitImageList
Ordnet eine Bildliste dem aktuellen Steuerelement für geteilte Schaltflächen zu.
BOOL SetSplitImageList(CImageList* pSplitImageList);
Parameter
pSplitImageList
[in] Zeiger auf ein CImageList-Objekt , das dem aktuellen Steuerelement für geteilte Schaltflächen zugewiesen werden soll.
Rückgabewert
TRUE, wenn diese Methode erfolgreich ist; andernfalls FALSE.
Hinweise
Verwenden Sie diese Methode nur für Steuerelemente, deren Schaltflächenformat BS_SPLITBUTTON oder BS_DEFSPLITBUTTON ist.
Diese Methode initialisiert das mask
Element einer BUTTON_SPLITINFO-Struktur mit dem BCSIF_IMAGE Flag und dem himlGlyph
Element mit dem pSplitImageList-Parameter und sendet diese Struktur dann in der BCM_GETSPLITINFO Nachricht, die im Windows SDK beschrieben wird.
CButton::SetSplitInfo
Gibt Parameter an, die bestimmen, wie Windows das aktuelle Steuerelement für geteilte Schaltflächen zeichnet.
BOOL SetSplitInfo(PBUTTON_SPLITINFO pInfo);
Parameter
pInfo
[in] Zeiger auf eine BUTTON_SPLITINFO Struktur, die das aktuelle Steuerelement für geteilte Schaltflächen definiert.
Rückgabewert
TRUE, wenn diese Methode erfolgreich ist; andernfalls FALSE.
Hinweise
Verwenden Sie diese Methode nur für Steuerelemente, deren Schaltflächenformat BS_SPLITBUTTON oder BS_DEFSPLITBUTTON ist.
Diese Methode sendet die BCM_SETSPLITINFO Nachricht, die im Windows SDK beschrieben wird.
Beispiel
Im ersten Codebeispiel wird die Variable definiert, m_splitButton
die für den programmgesteuerten Zugriff auf das Steuerelement für geteilte Schaltflächen verwendet wird.
public:
// Variable to access programatically defined command link control.
CButton m_cmdLink;
// Variable to access programatically defined split button control.
CButton m_splitButton;
Im nächsten Codebeispiel wird die Glyphe geändert, die für den Dropdownpfeil der geteilten Schaltfläche verwendet wird. Im Beispiel wird eine nach oben zeigende Dreiecksglyphe für die standardmäßige Dreiecksglyphe für das nach unten zeigende Dreieck ersetzt.The example substitutes an up-pointing triangle glyph. Die angezeigte Glyphe hängt von dem Zeichen ab, das Sie im himlGlyph
Element der BUTTON_SPLITINFO
Struktur angeben. Die nach unten zeigende Dreiecksglyphe wird durch ein Zeichen "6" angegeben, und die nach oben zeigende Dreiecksglyphe wird durch ein Zeichen "5" angegeben. Vergleichsweise finden Sie unter der Komfortmethode CButton::SetSplitGlyph.
/*
The drop-down arrow glyph is a function of the specified character.
The default "down" drop-down arrow glyph is specified by a
character '6'. Set the "up" arrow glyph, which is a character '5'.
See the convenience method, SetSplitGlyph(), for comparison.
*/
BUTTON_SPLITINFO bsInfo = {0};
bsInfo.mask = BCSIF_GLYPH;
TCHAR chGlyph = _T('5'); // "up" arrow glyph
bsInfo.himlGlyph = (HIMAGELIST)chGlyph;
bRC = m_splitButton.SetSplitInfo(&bsInfo);
CButton::SetSplitSize
Legt das umgebende Rechteck der Dropdownkomponente des aktuellen Steuerelements für geteilte Schaltflächen fest.
BOOL SetSplitSize(LPSIZE pSize);
Parameter
pSize
[in] Zeiger auf eine SIZE-Struktur , die ein umgebendes Rechteck beschreibt.
Rückgabewert
TRUE, wenn diese Methode erfolgreich ist; andernfalls FALSE.
Hinweise
Verwenden Sie diese Methode nur für Steuerelemente, deren Schaltflächenformat BS_SPLITBUTTON oder BS_DEFSPLITBUTTON ist.
Wenn das Steuerelement für geteilte Schaltflächen erweitert wird, kann es eine Dropdownkomponente wie ein Listensteuerelement oder ein Pager-Steuerelement anzeigen. Diese Methode gibt die Größe des umgebenden Rechtecks an, das die Dropdownkomponente enthält.
Diese Methode initialisiert das mask
Element einer BUTTON_SPLITINFO-Struktur mit dem BCSIF_SIZE Flag und dem size
Element mit dem pSize-Parameter und sendet diese Struktur dann in der BCM_GETSPLITINFO Nachricht, die im Windows SDK beschrieben wird.
Beispiel
Im ersten Codebeispiel wird die Variable definiert, m_splitButton
die für den programmgesteuerten Zugriff auf das Steuerelement für geteilte Schaltflächen verwendet wird. Diese Variable wird im folgenden Beispiel verwendet.
public:
// Variable to access programatically defined command link control.
CButton m_cmdLink;
// Variable to access programatically defined split button control.
CButton m_splitButton;
Im nächsten Codebeispiel wird die Größe des Dropdownpfeils der geteilten Schaltfläche verdoppelt.
// Double the size of the split button drop-down arrow.
SIZE sz;
bRC = m_splitButton.GetSplitSize(&sz); // current size
sz.cx = sz.cx * 2;
sz.cy = sz.cy * 2;
bRC = m_splitButton.SetSplitSize(&sz);
CButton::SetSplitStyle
Legt die Formatvorlage des aktuellen Steuerelements für geteilte Schaltflächen fest.
BOOL SetSplitStyle(UINT uSplitStyle);
Parameter
uSplitStyle
[in] Eine bitweise Kombination von Stilen für geteilte Schaltflächen. Weitere Informationen finden Sie im uSplitStyle
Element der BUTTON_SPLITINFO Struktur.
Rückgabewert
TRUE, wenn diese Methode erfolgreich ist; andernfalls FALSE.
Hinweise
Verwenden Sie diese Methode nur für Steuerelemente, deren Schaltflächenformat BS_SPLITBUTTON oder BS_DEFSPLITBUTTON ist.
Die Formatvorlagen für geteilte Schaltflächen geben die Ausrichtung, das Seitenverhältnis und das grafische Format an, mit dem Windows ein Symbol für geteilte Schaltflächen zeichnet. Weitere Informationen finden Sie im uSplitStyle
Element der BUTTON_SPLITINFO Struktur.
Diese Methode initialisiert das mask
Element einer BUTTON_SPLITINFO-Struktur mit dem BCSIF_STYLE Flag und dem uSplitStyle
Element mit dem uSplitStyle-Parameter und sendet diese Struktur dann in der BCM_GETSPLITINFO Nachricht, die im Windows SDK beschrieben wird.
Beispiel
Im ersten Codebeispiel wird die Variable definiert, m_splitButton
die für den programmgesteuerten Zugriff auf das Steuerelement für geteilte Schaltflächen verwendet wird.
public:
// Variable to access programatically defined command link control.
CButton m_cmdLink;
// Variable to access programatically defined split button control.
CButton m_splitButton;
Im nächsten Codebeispiel wird die Formatvorlage des Dropdownpfeils für geteilte Schaltflächen festgelegt. Die formatvorlage BCSS_ALIGNLEFT zeigt den Pfeil auf der linken Seite der Schaltfläche an, und die BCSS_STRETCH Formatvorlage behält die Proportionen des Dropdownpfeils bei, wenn Sie die Größe der Schaltfläche ändern.
/*
Set the style of the split button drop-down arrow: Display the
arrow on the left and retain the arrow's proportions when resizing
the control.
*/
bRC = m_splitButton.SetSplitStyle(BCSS_ALIGNLEFT | BCSS_STRETCH);
CButton::SetState
Legt fest, ob ein Schaltflächensteuerelement hervorgehoben ist oder nicht.
void SetState(BOOL bHighlight);
Parameter
bHighlight
Gibt an, ob die Schaltfläche hervorgehoben werden soll. Ein Wert ungleich Null hebt die Schaltfläche hervor; Ein 0-Wert entfernt alle Hervorhebungen.
Hinweise
Hervorhebung wirkt sich auf das Äußere eines Schaltflächensteuerelements aus. Sie hat keine Auswirkungen auf den Kontrollkästchenstatus eines Optionsfelds oder Kontrollkästchens.
Ein Schaltflächensteuerelement wird automatisch hervorgehoben, wenn der Benutzer auf die linke Maustaste klickt und hält. Die Hervorhebung wird entfernt, wenn der Benutzer die Maustaste loslässt.
Beispiel
CButton myPushButton;
// Create a push button.
myPushButton.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
CRect(10, 10, 100, 30), pParentWnd, 1);
// Invert the highlight state of the button.
myPushButton.SetState(!(myPushButton.GetState() & 0x0004));
CButton::SetTextMargin
Rufen Sie diese Methode auf, um den Textrand des CButton
Objekts festzulegen.
BOOL SetTextMargin(RECT* pmargin);
Parameter
pmargin
Ein Zeiger auf den neuen Textrand.
Rückgabewert
Gibt WAHR für Erfolg, FALSE bei Fehler zurück.
Hinweise
Diese Memberfunktion emuliert die Funktionalität der BCM_SETTEXTMARGIN Nachricht, wie im Abschnitt "Schaltflächen" des Windows SDK beschrieben.
Siehe auch
CWnd-Klasse
Hierarchiediagramm
CWnd-Klasse
CComboBox-Klasse
CEdit-Klasse
CListBox-Klasse
CScrollBar-Klasse
CStatic-Klasse
CBitmapButton-Klasse
CDialog-Klasse