CToolBar-Klasse

Steuerleisten, die eine Zeile mit Bitmapschaltflächen und optionalen Trennzeichen enthalten.

Syntax

class CToolBar : public CControlBar

Member

Öffentliche Konstruktoren

name Beschreibung
CToolBar::CToolBar Erstellt ein CToolBar-Objekt.

Öffentliche Methoden

name Beschreibung
CToolBar::CommandToIndex Gibt den Index einer Schaltfläche mit der angegebenen Befehls-ID zurück.
CToolBar::Create Erstellt die Windows Symbolleiste und fügt sie an das CToolBar -Objekt an.
CToolBar::CreateEx Erstellt ein CToolBar -Objekt mit zusätzlichen Stilen für das eingebettete CToolBarCtrl Objekt.
CToolBar::GetButtonInfo Ruft die ID, den Stil und die Bildnummer einer Schaltfläche ab.
CToolBar::GetButtonStyle Ruft den Stil für eine Schaltfläche ab.
CToolBar::GetButtonText Ruft den Text ab, der auf einer Schaltfläche angezeigt wird.
CToolBar::GetItemID Gibt die Befehls-ID einer Schaltfläche oder eines Trennzeichens am angegebenen Index zurück.
CToolBar::GetItemRect Ruft das Anzeigerechteck für das Element am angegebenen Index ab.
CToolBar::GetToolBarCtrl Ermöglicht den direkten Zugriff auf das zugrunde liegende allgemeine Steuerelement.
CToolBar::LoadBitmap Lädt die Bitmap, die Bitmap-Schaltflächenbilder enthält.
CToolBar::LoadToolBar Lädt eine Symbolleistenressource, die mit dem Ressourcen-Editor erstellt wurde.
CToolBar::SetBitmap Legt ein Bitmapbild fest.
CToolBar::SetButtonInfo Legt die ID, den Stil und die Bildnummer einer Schaltfläche fest.
CToolBar::SetButtons Legt Schaltflächenstile und einen Index von Schaltflächenbildern innerhalb der Bitmap fest.
CToolBar::SetButtonStyle Legt den Stil für eine Schaltfläche fest.
CToolBar::SetButtonText Legt den Text fest, der auf einer Schaltfläche angezeigt wird.
CToolBar::SetHeight Legt die Höhe der Symbolleiste fest.
CToolBar::SetSizes Legt die Größen von Schaltflächen und deren Bitmaps fest.

Bemerkungen

Die Schaltflächen können wie Schaltflächen, Kontrollkästchen oder Optionsfelder fungieren. CToolBar -Objekte sind in der Regel eingebettete Member von Framefensterobjekten, die von der CToolBar oder CMDIFrameWndabgeleitet werden.

CToolBar::GetToolBarCtrl, eine neue Memberfunktion für MFC 4.0, ermöglicht es Ihnen, die Unterstützung des Windows allgemeinen Steuerelements für die Anpassung der Symbolleiste und zusätzliche Funktionen zu nutzen. CToolBarMemberfunktionen bieten Ihnen den größten Teil der Funktionalität der Windows allgemeinen Steuerelemente. Wenn Sie aufrufen, GetToolBarCtrl können Sie Ihren Symbolleisten jedoch noch mehr Merkmale Windows 95/98-Symbolleisten geben. Wenn Sie GetToolBarCtrl aufrufen, wird ein Verweis auf ein CToolBarCtrl -Objekt zurückgegeben. Weitere Informationen zum Entwerfen von Symbolleisten mit Windows allgemeinen Steuerelementen finden Sie unter CToolBarCtrl. Weitere allgemeine Informationen zu allgemeinen Steuerelementen finden Sie unter Allgemeine Steuerelemente im Windows SDK.

Visual C++ bietet Ihnen zwei Methoden zum Erstellen einer Symbolleiste. Führen Sie die folgenden Schritte aus, um eine Symbolleistenressource mit dem Ressourcen-Editor zu erstellen:

  1. Erstellen Sie eine Symbolleistenressource.

  2. Erstellen Sie das CToolBar -Objekt.

  3. Rufen Sie die Funktion Create (oder CreateEx)auf, um die Windows Symbolleiste zu erstellen und an das -Objekt anzufügen.

  4. Rufen Sie LoadToolBar auf, um die Symbolleistenressource zu laden.

Führen Sie andernfalls die folgenden Schritte aus:

  1. Erstellen Sie das CToolBar -Objekt.

  2. Rufen Sie die Funktion Create (oder CreateEx)auf, um die Windows Symbolleiste zu erstellen und an das -Objekt anzufügen.

  3. Rufen Sie LoadBitmap auf, um die Bitmap zu laden, die die Bilder der Symbolleistenschaltfläche enthält.

  4. Rufen Sie SetButtons auf, um den Schaltflächenstil festzulegen und jede Schaltfläche einem Bild in der Bitmap zuzuordnen.

Alle Schaltflächenbilder in der Symbolleiste stammen aus einer Bitmap, die für jede Schaltfläche ein Bild enthalten muss. Alle Bilder müssen die gleiche Größe haben. der Standardwert ist 16 Pixel breit und 15 Pixel hoch. Bilder müssen in der Bitmap nebeneinander stehen.

Die SetButtons Funktion verwendet einen Zeiger auf ein Array von Steuerelement-IDs und eine ganze Zahl, die die Anzahl der Elemente im Array angibt. Die Funktion legt die ID jeder Schaltfläche auf den Wert des entsprechenden Elements des Arrays fest und weist jeder Schaltfläche einen Bildindex zu, der die Position des Bilds der Schaltfläche in der Bitmap angibt. Wenn ein Arrayelement über den Wert ID_SEPARATOR verfügt, wird kein Imageindex zugewiesen.

Die Reihenfolge der Bilder in der Bitmap ist in der Regel die Reihenfolge, in der sie auf dem Bildschirm gezeichnet werden. Sie können jedoch die SetButtonInfo-Funktion verwenden, um die Beziehung zwischen Bildreihenfolge und Zeichnungsreihenfolge zu ändern.

Alle Schaltflächen in einer Symbolleiste haben die gleiche Größe. Der Standardwert ist 24 x 22 Pixel gemäß Windows Interface Guidelines for Software Design. Jeder zusätzliche Platz zwischen dem Bild und den Schaltflächendimensionen wird verwendet, um einen Rahmen um das Bild zu bilden.

Jede Schaltfläche verfügt über ein Bild. Die verschiedenen Schaltflächenzustände und Stile (gedrückt, nach oben, unten, deaktiviert, deaktiviert und unbestimmt) werden aus diesem bild generiert. Obwohl Bitmaps eine beliebige Farbe haben können, können Sie mit Bildern in Schwarz und Graustufen die besten Ergebnisse erzielen.

Warnung

CToolBar unterstützt Bitmaps mit maximal 16 Farben. Wenn Sie ein Bild in einen Symbolleisten-Editor laden, konvertiert Visual Studio das Bild bei Bedarf automatisch in eine Bitmap mit 16 Farben und zeigt eine Warnmeldung an, wenn das Bild konvertiert wurde. Wenn Sie ein Bild mit mehr als 16 Farben verwenden (mithilfe eines externen Editors zum Bearbeiten des Bilds), verhält sich die Anwendung möglicherweise unerwartet.

Symbolleistenschaltflächen imitieren standardmäßig Pushbuttons. Symbolleistenschaltflächen können jedoch auch Kontrollkästchen oder Optionsfelder imitieren. Kontrollkästchen-Schaltflächen haben drei Zustände: aktiviert, gelöscht und unbestimmt. Optionsfelder haben nur zwei Zustände: aktiviert und gelöscht.

Um eine einzelne Schaltfläche oder ein Trennzeichen festzulegen, ohne auf ein Array zu zeigen, rufen Sie GetButtonStyle auf, um den Stil abzurufen, und rufen Sie dann SetButtonStyle anstelle von auf. SetButtonStyle ist besonders nützlich, wenn Sie den Stil einer Schaltfläche zur Laufzeit ändern möchten.

Um Text zuzuweisen, der auf einer Schaltfläche angezeigt werden soll, rufen Sie GetButtonText auf, um den Text abzurufen, der auf der Schaltfläche angezeigt werden soll, und rufen Sie dann SetButtonText auf, um den Text festzulegen.

Um eine Kontrollkästchenschaltfläche zu erstellen, weisen Sie ihr den Stil TBBS_CHECKBOX zu, oder verwenden Sie die Memberfunktion eines CCmdUI Objekts in einem ON_UPDATE_COMMAND_UI SetCheck Handler. Das Aufrufen SetCheck von wandelt einen Pushbutton in eine Kontrollkästchenschaltfläche um. Übergeben Sie SetCheck das Argument "0" für "unchecked", "1" für "checked" oder "2" für "unbestimmt".

Um ein Optionsfeld zu erstellen, rufen Sie die SetRadio-Memberfunktion eines CCmdUI-Objekts aus einem ON_UPDATE_COMMAND_UI Handler auf. Übergeben Sie SetRadio das Argument 0 (null) für "unchecked" oder "nonzero" (nicht null) für "checked". Um das sich gegenseitig ausschließende Verhalten einer Optionsgruppe bereitzustellen, benötigen Sie ON_UPDATE_COMMAND_UI Handler für alle Schaltflächen in der Gruppe.

Weitere Informationen zur Verwendung von CToolBar finden Sie im Artikel CToolBar und Technical Note 31: Control Bars (Technische Hinweise 31: Steuerleisten).

Vererbungshierarchie

Cobject

CCmdTarget

CWnd

CControlBar

CToolBar

Requirements (Anforderungen)

Header: afxext.h

CToolBar::CommandToIndex

Diese Memberfunktion gibt den Index der ersten Symbolleistenschaltfläche ab Position 0 zurück, deren Befehls-ID mit nIDFind übereinstimmt.

int CommandToIndex(UINT nIDFind) const;

Parameter

nIDFind
Befehls-ID einer Symbolleistenschaltfläche.

Rückgabewert

Der Index der Schaltfläche oder -1, wenn keine Schaltfläche über die angegebene Befehls-ID verfügt.

CToolBar::Create

Diese Memberfunktion erstellt eine Windows Symbolleiste (ein untergeordnetes Fenster) und ordnet sie dem CToolBar -Objekt zu.

virtual BOOL Create(
    CWnd* pParentWnd,
    DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_TOP,
    UINT nID = AFX_IDW_TOOLBAR);

Parameter

pParentWnd
Zeiger auf das Fenster, das das übergeordnete Element der Symbolleiste ist.

dwStyle
Der Symbolleistenstil. Zusätzliche unterstützte Symbolleistenstile sind:

  • CBRS_TOP Steuerleiste befindet sich oben im Rahmenfenster.

  • CBRS_BOTTOM Steuerleiste befindet sich unten im Rahmenfenster.

  • CBRS_NOALIGN Steuerleiste wird nicht neu positioniert, wenn die Größe des übergeordneten Elements geändert wird.

  • CBRS_TOOLTIPS Steuerleiste werden QuickInfos angezeigt.

  • CBRS_SIZE_DYNAMIC Steuerleiste ist dynamisch.

  • CBRS_SIZE_FIXED Steuerleiste ist fest.

  • CBRS_FLOATING Steuerleiste ist unverankert.

  • CBRS_FLYBY Statusleiste werden Informationen zur Schaltfläche angezeigt.

  • CBRS_HIDE_INPLACE-Steuerelementleiste wird dem Benutzer nicht angezeigt.

nID
Die ID des untergeordneten Fensters der Symbolleiste.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Bemerkungen

Außerdem wird die Symbolleistenhöhe auf einen Standardwert festgelegt.

Beispiel

// This code fragment is taken from CMainFrame::OnCreate
// CMainFrame is derived from CMDIFrameWnd.

//This example creates a dockable toolbar.
if (!m_wndToolBar.Create(this) ||
   !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
   TRACE0("Failed to create toolbar\n");
   return -1;      // fail to create
}

//Make the toolbar dockable
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);

CToolBar::CreateEx

Rufen Sie diese Funktion auf, um eine Windows Symbolleiste (ein untergeordnetes Fenster) zu erstellen und sie dem CToolBar -Objekt zuzuordnen.

virtual BOOL CreateEx(
    CWnd* pParentWnd,
    DWORD dwCtrlStyle = TBSTYLE_FLAT,
    DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_ALIGN_TOP,
    CRect rcBorders = CRect(
    0,
    0,
    0,
    0),
    UINT nID = AFX_IDW_TOOLBAR);

Parameter

pParentWnd
Zeiger auf das Fenster, das das übergeordnete Element der Symbolleiste ist.

dwCtrlStyle
Zusätzliche Stile für die Erstellung des eingebetteten CToolBarCtrl-Objekts. Standardmäßig ist dieser Wert auf TBSTYLE_FLAT festgelegt. Eine vollständige Liste der Symbolleistenstile finden Sie unter dwStyle.

dwStyle
Der Symbolleistenstil. Eine Liste der geeigneten Stile finden Sie unter Symbolleisten-Steuerelement- und Schaltflächenstile im Windows SDK.

rcBorders
Ein CRect-Objekt, das die Breite der Rahmen des Symbolleistenfensters definiert. Diese Rahmen sind standardmäßig auf 0,0,0,0 festgelegt, was zu einem Symbolleistenfenster ohne Rahmen führt.

nID
Die ID des untergeordneten Fensters der Symbolleiste.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Bemerkungen

Außerdem wird die Symbolleistenhöhe auf einen Standardwert festgelegt.

Verwenden Sie CreateEx anstelle von CreateEx, wenn während der Erstellung des eingebetteten Toolleistensteuerelements bestimmte Stile vorhanden sein müssen. Legen Sie beispielsweise dwCtrlStyle auf TBSTYLE_FLAT | TBSTYLE_TRANSPARENT, um eine Symbolleiste zu erstellen, die der Internet Explorer 4 Symbolleisten ähnelt.

Beispiel

// This example demonstrates CToolBar::CreateEx by creating a 
// toolbar as part of a child frame window. It also calls the 
// LoadToolbar and EnableDocking functions
int CChildFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
   if (CMDIChildWnd::OnCreate(lpCreateStruct) == -1)
      return -1;

   if (!m_wndMyToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
      | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
      !m_wndMyToolBar.LoadToolBar(IDR_MYTOOLBAR))
   {
      TRACE0("Failed to create toolbar\n");
      return -1;      // fail to create
   }

   m_wndMyToolBar.EnableDocking(CBRS_ALIGN_ANY);
   EnableDocking(CBRS_ALIGN_ANY);
   DockControlBar(&m_wndMyToolBar);

   return 0;
}

CToolBar::CToolBar

Diese Memberfunktion erstellt ein CToolBar -Objekt und legt die Standardgrößen fest.

CToolBar();

Bemerkungen

Rufen Sie die Funktion Create member (Member erstellen) auf, um das Symbolleistenfenster zu erstellen.

CToolBar::GetButtonInfo

Diese Memberfunktion ruft die Steuerelement-ID, den Stil und den Bildindex der Symbolleistenschaltfläche oder des Trennzeichens an der von nIndex angegebenen Position ab.

void GetButtonInfo(
    int nIndex,
    UINT& nID,
    UINT& nStyle,
    int& iImage) const;

Parameter

nIndex
Index der Symbolleistenschaltfläche oder des Trennzeichens, deren Informationen abgerufen werden sollen.

nID
Verweis auf einen UINT, der auf die Befehls-ID der Schaltfläche festgelegt ist.

nStyle
Verweis auf einen UINT, der auf den Stil der Schaltfläche festgelegt ist.

iImage
Verweis auf eine ganze Zahl, die auf den Index des Bilds der Schaltfläche innerhalb der Bitmap festgelegt ist.

Bemerkungen

Diese Werte werden den Variablen zugewiesen, auf die von nID,nStyleund iImageverwiesen wird. Der Bildindex ist die Position des Bilds innerhalb der Bitmap, die Bilder für alle Symbolleistenschaltflächen enthält. Das erste Bild befindet sich an Position 0.

Wenn nIndex ein Trennzeichen angibt, wird iImage auf die Trennzeichenbreite in Pixel festgelegt.

CToolBar::GetButtonStyle

Rufen Sie diese Memberfunktion auf, um den Stil einer Schaltfläche oder eines Trennzeichens auf der Symbolleiste abzurufen.

UINT GetButtonStyle(int nIndex) const;

Parameter

nIndex
Der Index der abzurufenden Symbolleistenschaltfläche oder des Trennzeichenstils.

Rückgabewert

Das Format der Schaltfläche oder des Trennzeichens, das durch nIndexangegeben wird.

Bemerkungen

Der Stil einer Schaltfläche bestimmt, wie die Schaltfläche angezeigt wird und wie sie auf Benutzereingaben reagiert. Beispiele für Schaltflächenstile finden Sie unter SetButtonStyle.

CToolBar::GetButtonText

Rufen Sie diese Memberfunktion auf, um den Text abzurufen, der auf einer Schaltfläche angezeigt wird.

CString GetButtonText(int nIndex) const;

void GetButtonText(
    int nIndex,
    CString& rString) const;

Parameter

nIndex
Index des abzurufenden Texts.

rString
Ein Verweis auf ein CString-Objekt, das den abzurufenden Text enthält.

Rückgabewert

Ein CString -Objekt, das den Schaltflächentext enthält.

Bemerkungen

Die zweite Form dieser Memberfunktion füllt ein CString -Objekt mit dem Zeichenfolgentext.

CToolBar::GetItemID

Diese Memberfunktion gibt die Befehls-ID der Schaltfläche oder des Trennzeichens zurück, die von nIndexangegeben wird.

UINT GetItemID(int nIndex) const;

Parameter

nIndex
Index des Elements, dessen ID abgerufen werden soll.

Rückgabewert

Die Befehls-ID der Schaltfläche oder des Trennzeichens, die bzw. das von nIndexangegeben wird.

Bemerkungen

Trennzeichen geben ID_SEPARATOR zurück.

CToolBar::GetItemRect

Diese Memberfunktion füllt die RECT -Struktur, deren Adresse in RECT enthalten ist, mit den Koordinaten der Schaltfläche oder des Trennzeichens aus, die von nIndexangegeben werden.

virtual void GetItemRect(
    int nIndex,
    LPRECT lpRect) const;

Parameter

nIndex
Index des Elements (Schaltfläche oder Trennzeichen), dessen Rechteckkoordinaten abgerufen werden sollen.

lpRect
Adresse der RECT-Struktur, die die Koordinaten des Elements enthält.

Bemerkungen

Koordinaten sind relativ zur oberen linken Ecke der Symbolleiste in Pixeln angegeben.

Verwenden Sie GetItemRect , um die Koordinaten eines Trennzeichens abzurufen, das Sie durch ein Kombinationsfeld oder ein anderes Steuerelement ersetzen möchten.

Beispiel

Sehen Sie sich das Beispiel für CToolBar::SetSizes an.

CToolBar::GetToolBarCtrl

Diese Memberfunktion ermöglicht den direkten Zugriff auf das zugrunde liegende allgemeine Steuerelement.

CToolBarCtrl& GetToolBarCtrl() const;

Rückgabewert

Ein Verweis auf ein CToolBarCtrl-Objekt.

Bemerkungen

Verwenden Sie GetToolBarCtrl , um die Funktionalität des allgemeinen Steuerelements der Windows Symbolleiste zu nutzen, und um die Unterstützung zu nutzen, die GetToolBarCtrl für die Anpassung der Symbolleiste bietet.

Weitere Informationen zur Verwendung allgemeiner Steuerelemente finden Sie im Artikel Steuerelemente und allgemeine Steuerelemente im Windows SDK.

Beispiel

// This code fragment is taken from CMainFrame::OnCreate
// CMainFrame is derived from CMDIFrameWnd.

//This example shows how to add text to toolbar buttons.
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE
   | CBRS_TOP) || !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
   TRACE0("Failed to create toolbar\n");
   return -1;      // fail to create
}

//Show text on toolbar buttons.
VERIFY(m_wndToolBar.SetButtonText(0, _T("New")));
VERIFY(m_wndToolBar.SetButtonText(1, _T("Open")));
VERIFY(m_wndToolBar.SetButtonText(2, _T("Save")));
VERIFY(m_wndToolBar.SetButtonText(4, _T("Cut")));
VERIFY(m_wndToolBar.SetButtonText(5, _T("Copy")));
VERIFY(m_wndToolBar.SetButtonText(6, _T("Paste")));
VERIFY(m_wndToolBar.SetButtonText(8, _T("Print")));
VERIFY(m_wndToolBar.SetButtonText(9, _T("About")));

CRect temp;
m_wndToolBar.GetItemRect(0, &temp);
m_wndToolBar.GetToolBarCtrl().SetButtonSize(CSize(temp.Width(),
   temp.Height()));

CToolBar::LoadBitmap

Rufen Sie diese Memberfunktion auf, um die durch oder angegebene Bitmap zu lpszResourceNamenIDResource laden.

BOOL LoadBitmap(LPCTSTR lpszResourceName);
BOOL LoadBitmap(UINT nIDResource);

Parameter

lpszResourceName
Zeiger auf den Ressourcennamen der zu ladenden Bitmap.

nIDResource
Ressourcen-ID der zu ladenden Bitmap.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Bemerkungen

Die Bitmap sollte ein Bild für jede Symbolleistenschaltfläche enthalten. Wenn die Bilder nicht die Standardgröße aufweisen (16 Pixel breit und 15 Pixel hoch), rufen Sie SetSizes auf, um die Schaltflächengrößen und ihre Bilder festzulegen.

Warnung

CToolBar unterstützt Bitmaps mit maximal 16 Farben. Wenn Sie ein Bild in einen Symbolleisten-Editor laden, konvertiert Visual Studio das Bild bei Bedarf automatisch in eine Bitmap mit 16 Farben und zeigt eine Warnmeldung an, wenn das Bild konvertiert wurde. Wenn Sie ein Bild mit mehr als 16 Farben verwenden (mithilfe eines externen Editors zum Bearbeiten des Bilds), verhält sich die Anwendung möglicherweise unerwartet.

CToolBar::LoadToolBar

Rufen Sie diese Memberfunktion auf, um die durch lpszResourceName oder nIDResourceangegebene Symbolleiste zu laden.

BOOL LoadToolBar(LPCTSTR lpszResourceName);
BOOL LoadToolBar(UINT nIDResource);

Parameter

lpszResourceName
Zeiger auf den Ressourcennamen der zu ladenden Symbolleiste.

nIDResource
Ressourcen-ID der zu ladenden Symbolleiste.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Bemerkungen

Weitere Informationen zum Erstellen einer Symbolleistenressource finden Sie unter Symbolleisten-Editor in .

Beispiel

Sehen Sie sich das Beispiel für CToolBar::CreateEx an.

CToolBar::SetBitmap

Rufen Sie diese Memberfunktion auf, um das Bitmapbild für die Symbolleiste festzulegen.

BOOL SetBitmap(HBITMAP hbmImageWell);

Parameter

hbmImageWell
Handle eines Bitmapbilds, das einer Symbolleiste zugeordnet ist.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Bemerkungen

Rufen Sie beispielsweise SetBitmap auf, um das Bitmapbild zu ändern, nachdem der Benutzer eine Aktion für ein Dokument vorgenommen hat, das die Aktion einer Schaltfläche ändert.

CToolBar::SetButtonInfo

Rufen Sie diese Memberfunktion auf, um die Befehls-ID, den Stil und die Bildnummer der Schaltfläche festzulegen.

void SetButtonInfo(
    int nIndex,
    UINT nID,
    UINT nStyle,
    int iImage);

Parameter

nIndex
Nullbasierter Index der Schaltfläche oder des Trennzeichens, für die Informationen festgelegt werden sollen.

nID
Der Wert, auf den die Befehls-ID der Schaltfläche festgelegt ist.

nStyle
Der neue Schaltflächenstil. Die folgenden Schaltflächenstile werden unterstützt:

  • TBBS_BUTTON Standard-Pushbutton (Standard)

  • TBBS_SEPARATOR Trennzeichen

  • TBBS_CHECKBOX Kontrollkästchen "Automatisch"

  • TBBS_GROUP Markiert den Anfang einer Gruppe von Schaltflächen.

  • TBBS_CHECKGROUP Markiert den Anfang einer Gruppe von Kontrollkästchenschaltflächen.

  • TBBS_DROPDOWN Erstellt eine Dropdown-Listenschaltfläche.

  • TBBS_AUTOSIZE Die Breite der Schaltfläche wird basierend auf dem Text der Schaltfläche und nicht auf der Größe des Bilds berechnet.

  • TBBS_NOPREFIX Dem Schaltflächentext ist kein Zugriffstastenpräfix zugeordnet.

iImage
Neuer Index für das Bild der Schaltfläche innerhalb der Bitmap.

Bemerkungen

Für Trennzeichen, die das Format TBBS_SEPARATOR haben, legt diese Funktion die Breite des Trennzeichens in Pixel auf den in iImagegespeicherten Wert fest.

Hinweis

Sie können Schaltflächenzustände auch mit dem nStyle-Parameter festlegen. Da schaltflächenzustände jedoch vom ON_UPDATE_COMMAND_UI Handler gesteuert werden, gehen alle von Ihnen festgelegten Zustände während der nächsten Leerlaufverarbeitung verloren. Weitere Informationen finden Sie unter Aktualisieren von User-Interface-Objekten und TN031: Steuerleisten.

Informationen zu Bitmapbildern und Schaltflächen finden Sie in der Übersicht über CToolBar und unter CToolBar::LoadBitmap.

CToolBar::SetButtons

Diese Memberfunktion legt die Befehls-ID jeder Symbolleistenschaltfläche auf den Wert fest, der vom entsprechenden Element des Arrays lpIDArrayangegeben wird.

BOOL SetButtons(
    const UINT* lpIDArray,
    int nIDCount);

Parameter

lpIDArray
Zeiger auf ein Array von Befehls-IDs. Es kann NULL sein, um leere Schaltflächen zu zuordnen.

nIDCount
Anzahl der Elemente im Array, auf die lpIDArray zeigt.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Bemerkungen

Wenn ein Element des Arrays den Wert ID_SEPARATOR, wird an der entsprechenden Position der Symbolleiste ein Trennzeichen erstellt. Diese Funktion legt auch den Stil jeder Schaltfläche auf TBBS_BUTTON und den Stil jedes Trennzeichens auf TBBS_SEPARATOR fest und weist jeder Schaltfläche einen Bildindex zu. Der Bildindex gibt die Position des Bilds der Schaltfläche innerhalb der Bitmap an.

Sie müssen keine Trennzeichen in der Bitmap berücksichtigen, da diese Funktion keine Bildindizes für Trennzeichen zu weist. Wenn ihre Symbolleiste Schaltflächen an den Positionen 0, 1 und 3 und ein Trennzeichen an Position 2 enthält, werden die Bilder an den Positionen 0, 1 und 2 in Ihrer Bitmap den Schaltflächen an den Positionen 0, 1 bzw. 3 zugewiesen.

Wenn lpIDArray NULL ist, weist diese Funktion Speicherplatz für die Anzahl von Elementen zu, die von nIDCount angegeben werden. Verwenden Sie SetButtonInfo, um die Attribute der einzelnen Elemente zu festlegen.

CToolBar::SetButtonStyle

Rufen Sie diese Memberfunktion auf, um den Stil einer Schaltfläche oder eines Trennzeichens oder Schaltflächen zu gruppieren.

void SetButtonStyle(
    int nIndex,
    UINT nStyle);

Parameter

nIndex
Index der Schaltfläche oder des Trennzeichens, deren Informationen festgelegt werden sollen.

nStyle
Der Schaltflächenstil. Die folgenden Schaltflächenstile werden unterstützt:

  • TBBS_BUTTON Standard-Pushbutton (Standard)

  • TBBS_SEPARATOR Trennzeichen

  • TBBS_CHECKBOX Kontrollkästchenschaltfläche "Automatisch"

  • TBBS_GROUP Markiert den Anfang einer Gruppe von Schaltflächen.

  • TBBS_CHECKGROUP Markiert den Anfang einer Gruppe von Kontrollkästchen-Schaltflächen.

  • TBBS_DROPDOWN Erstellt eine Dropdownlistenschaltfläche.

  • TBBS_AUTOSIZE Die Breite der Schaltfläche wird basierend auf dem Text der Schaltfläche und nicht auf der Größe des Bilds berechnet.

  • TBBS_NOPREFIX Dem Schaltflächentext ist kein Zugriffstastenpräfix zugeordnet.

Bemerkungen

Der Stil einer Schaltfläche bestimmt, wie die Schaltfläche angezeigt wird und wie sie auf Benutzereingaben reagiert.

Rufen Sie vor SetButtonStyle dem Aufrufen von die SetButtonStyle auf, um das Schaltflächen- oder Trennzeichenformat abzurufen.

Hinweis

Sie können Schaltflächenzustände auch mit dem nStyle-Parameter festlegen. Da Schaltflächenzustände jedoch durch den ON_UPDATE_COMMAND_UI gesteuert werden, gehen alle Zustände, die Sie mit festlegen, während der nächsten Leerlaufverarbeitung verloren. Weitere Informationen finden Sie unter How to Update User-Interface Objects and TN031: Control Bars (Aktualisieren von User-Interface Objekten und TN031: Steuerleisten).

CToolBar::SetButtonText

Rufen Sie diese Funktion auf, um den Text auf einer Schaltfläche zu setzen.

BOOL SetButtonText(
    int nIndex,
    LPCTSTR lpszText);

Parameter

nIndex
Index der Schaltfläche, deren Text festgelegt werden soll.

lpszText
Zeigt auf den Text, der auf einer Schaltfläche festgelegt werden soll.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Beispiel

Siehe das Beispiel für CToolBar::GetToolBarCtrl.

CToolBar::SetHeight

Diese Memberfunktion legt die Höhe der Symbolleiste auf den Wert in Pixel fest, der in cyHeight angegeben ist.

void SetHeight(int cyHeight);

Parameter

cyHeight
Die Höhe der Symbolleiste in Pixel.

Bemerkungen

Verwenden Sie nach dem Aufruf von SetSizesdiese Memberfunktion, um die Standardsymbolleistenhöhe zu überschreiben. Wenn die Höhe zu klein ist, werden die Schaltflächen unten abgeschnitten.

Wenn diese Funktion nicht aufgerufen wird, verwendet das Framework die Größe der Schaltfläche, um die Höhe der Symbolleiste zu bestimmen.

CToolBar::SetSizes

Rufen Sie diese Memberfunktion auf, um die Schaltflächen der Symbolleiste auf die Größe in Pixel festzulegen, die in sizeButton angegeben ist.

void SetSizes(
    SIZE sizeButton,
    SIZE sizeImage);

Parameter

sizeButton
Die Größe der einzelnen Schaltflächen in Pixel.

sizeImage
Die Größe der einzelnen Bilder in Pixel.

Bemerkungen

Der sizeImage-Parameter muss die Größe der Bilder in der Bitmap der Symbolleiste in Pixel enthalten. Die Abmessungen in sizeButton müssen ausreichend sein, um das Bild plus 7 Pixel zusätzlich in der Breite und 6 Pixel zusätzlich in der Höhe zu halten. Diese Funktion legt auch die Symbolleistenhöhe so fest, dass sie den Schaltflächen passt.

Rufen Sie diese Memberfunktion nur für Symbolleisten auf, die nicht den Windows Interface Guidelines for Software Design recommendations for button and image sizes (Schnittstellenrichtlinien für Softwareentwurfsempfehlungen für Schaltflächen- und Bildgrößen) entsprechen.

Beispiel

// This code fragment is taken from CMainFrame::OnCreate
// CMainFrame is derived from CMDIFrameWnd

// This example shows how to add text to toolbar buttons.
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE 
   | CBRS_TOP) || !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
   TRACE0("Failed to create toolbar\n");
   return -1;      // fail to create
}

//Show text on toolbar buttons.
VERIFY(m_wndToolBar.SetButtonText(0, _T("New")));
VERIFY(m_wndToolBar.SetButtonText(1, _T("Open")));
VERIFY(m_wndToolBar.SetButtonText(2, _T("Save")));
VERIFY(m_wndToolBar.SetButtonText(4, _T("Cut")));
VERIFY(m_wndToolBar.SetButtonText(5, _T("Copy")));
VERIFY(m_wndToolBar.SetButtonText(6, _T("Paste")));
VERIFY(m_wndToolBar.SetButtonText(8, _T("Print")));
VERIFY(m_wndToolBar.SetButtonText(9, _T("About")));

CRect temp;
m_wndToolBar.GetItemRect(0,&temp);
m_wndToolBar.SetSizes(CSize(temp.Width(),
   temp.Height()),CSize(16,15));

Weitere Informationen

MFC-Beispiel: STRGLEISTEN
MFC-Beispiel-DLGCBR32
MFC-Beispiel-DOCKTOOL
CControlBar-Klasse
Hierarchiediagramm
CToolBarCtrl-Klasse
CControlBar-Klasse