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

CObject

CCmdTarget

CWnd

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 mögliche Werte aufgeführt.

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_splitButtondie 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_cmdLinkdie 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_splitButtondie 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_splitButtondie 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_splitButtondie 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