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 Formatvorlagen für das eingebettete CToolBarCtrl Objekt.
CToolBar::GetButtonInfo Ruft die ID, den Stil und die Bildnummer einer Schaltfläche ab.
CToolBar::GetButtonStyle Ruft die Formatvorlage 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 direkten Zugriff auf das zugrunde liegende allgemeine Steuerelement.
CToolBar::LoadBitmap Lädt die Bitmap mit Bitmap-Schaltflächenbildern.
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ächenformatvorlagen und einen Index von Schaltflächenbildern innerhalb der Bitmap fest.
CToolBar::SetButtonStyle Legt die Formatvorlage 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öße von Schaltflächen und deren Bitmaps fest.

Hinweise

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

CToolBar::GetToolBarCtrl, eine member-Funktion, die in MFC 4.0 neu ist, ermöglicht Es Ihnen, die Unterstützung des allgemeinen Windows-Steuerelements für symbolleistenanpassungen und zusätzliche Funktionen zu nutzen. CToolBar member functions give you most of the functionality of the Windows common controls; Wenn Sie jedoch aufrufen, können Sie Ihren Symbolleisten noch mehr Merkmale von Windows 95/98-Symbolleisten zugeben GetToolBarCtrl. Wenn Sie aufrufen GetToolBarCtrl, wird ein Verweis auf ein CToolBarCtrl Objekt zurückgegeben. Weitere Informationen zum Entwerfen von Symbolleisten mit allgemeinen Windows-Steuerelementen finden Sie CToolBarCtrl unter. 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 Create (oder CreateEx) Funktion auf, um die Windows-Symbolleiste zu erstellen und an das CToolBar Objekt anzufügen.

  4. Aufrufen LoadToolBar , um die Symbolleistenressource zu laden.

Führen Sie andernfalls die folgenden Schritte aus:

  1. Erstellen Sie das CToolBar Objekt.

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

  3. Rufen Sie LoadBitmap auf, um die Bitmap zu laden, die die Schaltflächenbilder der Symbolleiste 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 dieselbe Größe aufweisen; Der Standardwert ist 16 Pixel breit und 15 Pixel hoch. Bilder müssen in der Bitmap nebeneinander angeordnet sein.

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 den Wert ID_SEPARATORaufweist, wird kein Bildindex zugewiesen.

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

Alle Schaltflächen in einer Symbolleiste sind die gleiche Größe. Der Standardwert ist 24 x 22 Pixel gemäß den Windows-Schnittstellenrichtlinien für das Softwaredesign. Jeder zusätzliche Abstand zwischen bild- und Schaltflächenabmessungen wird verwendet, um einen Rahmen um das Bild zu bilden.

Jede Schaltfläche weist ein Bild auf. 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 sein können, können Sie die besten Ergebnisse mit Bildern in Schwarz und Grautönen 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 16-Farbige Bitmap und zeigt eine Warnmeldung an, wenn das Bild konvertiert wurde. Wenn Sie ein Bild mit mehr als 16 Farben (mit einem externen Editor zum Bearbeiten des Bilds) verwenden, verhält sich die Anwendung möglicherweise unerwartet.

Symbolleistenschaltflächen imitieren standardmäßig Schaltflächen. Symbolleistenschaltflächen können jedoch auch Kontrollkästchenschaltflächen oder Optionsfelder imitieren. Kontrollkästchenschaltflächen weisen drei Zustände auf: aktiviert, deaktiviert und unbestimmt. Optionsfelder haben nur zwei Zustände: aktiviert und deaktiviert.

Wenn Sie eine einzelne Schaltfläche oder ein Trennzeichen festlegen möchten, ohne auf ein Array zu zeigen, rufen Sie GetButtonStyle die Formatvorlage auf, und rufen SetButtonStyle Sie dann anstelle von SetButtons. SetButtonStyle ist am nützlichsten, wenn Sie die Formatvorlage einer Schaltfläche zur Laufzeit ändern möchten.

Zum Zuweisen von Text, 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 SetButtonText Sie dann auf, um den Text festzulegen.

Um eine Kontrollkästchenschaltfläche zu erstellen, weisen Sie sie der Formatvorlage TBBS_CHECKBOX zu, oder verwenden Sie die Memberfunktion eines CCmdUI Objekts SetCheck in einem ON_UPDATE_COMMAND_UI Handler. Das Aufrufen SetCheck wandelt eine Taste in eine Kontrollkästchenschaltfläche um. Übergeben Sie SetCheck ein Argument von 0 für deaktiviert, 1 für aktiviert oder 2 für unbestimmt.

Rufen Sie zum Erstellen eines Optionsfelds SetRadio die Memberfunktion eines CCmdUI Objekts aus einem ON_UPDATE_COMMAND_UI Handler auf. Übergeben Sie SetRadio ein Argument von 0 für deaktivierte oder nicht aktivierte Zero. Um das sich gegenseitig ausschließende Verhalten einer Optionsgruppe bereitzustellen, müssen Sie über Handler für alle Schaltflächen in der Gruppe verfügen ON_UPDATE_COMMAND_UI .

Weitere Informationen zur Verwendung CToolBarfinden Sie im Artikel MFC Toolbar Implementation and Technical Note 31: Control Bars.

Vererbungshierarchie

CObject

CCmdTarget

CWnd

CControlBar

CToolBar

Anforderungen

Headerafxext.h:

CToolBar::CommandToIndex

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

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
Zeigen Sie auf das Fenster, das das übergeordnete Element der Symbolleiste ist.

dwStyle
Die Symbolleistenformatvorlage. Es werden weitere unterstützte Symbolleistenformatvorlagen unterstützt:

  • CBRS_TOP Die Steuerleiste befindet sich oben im Rahmenfenster.

  • CBRS_BOTTOM Die Steuerleiste befindet sich unten im Rahmenfenster.

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

  • CBRS_TOOLTIPS Auf der Steuerleiste werden QuickInfos angezeigt.

  • CBRS_SIZE_DYNAMIC Die Steuerleiste ist dynamisch.

  • CBRS_SIZE_FIXED Die Steuerleiste ist fest.

  • CBRS_FLOATING Die Steuerleiste ist unverankert.

  • CBRS_FLYBY In der Statusleiste werden Informationen zur Schaltfläche angezeigt.

  • CBRS_HIDE_INPLACE Die Steuerelementleiste wird dem Benutzer nicht angezeigt.

nID
Die Untergeordnete Fenster-ID der Symbolleiste.

Rückgabewert

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

Hinweise

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
Zeigen Sie auf das Fenster, das das übergeordnete Element der Symbolleiste ist.

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

dwStyle
Die Symbolleistenformatvorlage. Eine Liste der geeigneten Formatvorlagen finden Sie unter Symbolleisten-Steuerelement- und Schaltflächenformatvorlagen im Windows SDK.

rcBorders
Ein CRect Objekt, das die Breite der Symbolleistenfensterrahmen definiert. Diese Rahmen sind standardmäßig auf 0,0,0,0 festgelegt, wodurch ein Symbolleistenfenster ohne Rahmen entsteht.

nID
Die Untergeordnete Fenster-ID der Symbolleiste.

Rückgabewert

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

Hinweise

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

Verwenden Sie CreateExanstelle von Create, wenn bestimmte Formatvorlagen während der Erstellung des eingebetteten Toolleisten-Steuerelements vorhanden sein müssen. Legen Sie dwCtrlStyle beispielsweise fest, dass TBSTYLE_FLAT | TBSTYLE_TRANSPARENT eine Symbolleiste erstellt wird, die den 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();

Hinweise

Rufen Sie die Create Memberfunktion 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 durch nIndex.

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

Parameter

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

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

nStyle
Verweisen auf einen UINT, der auf die Formatvorlage der Schaltfläche festgelegt ist.

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

Hinweise

Diese Werte werden den Variablen zugewiesen, auf die durch nID, nStyle, und iImage. 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 angegeben wird, iImage wird er auf die Trennzeichenbreite in Pixeln festgelegt.

CToolBar::GetButtonStyle

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

UINT GetButtonStyle(int nIndex) const;

Parameter

nIndex
Der Index der abzurufenden Symbolleistenschaltfläche oder Trennzeichenart.

Rückgabewert

Die Formatvorlage der schaltfläche oder des Trennzeichens, die durch nIndex.

Hinweise

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

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.

Hinweise

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

CToolBar::GetItemID

Diese Memberfunktion gibt die Befehls-ID der schaltfläche oder des Trennzeichens zurück, die durch nIndex.

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 durch nIndex.

Hinweise

Trennzeichen werden zurückgegeben ID_SEPARATOR.

CToolBar::GetItemRect

Diese Memberfunktion füllt die RECT Struktur aus, deren Adresse in lpRect den Koordinaten der durch die Schaltfläche oder das Trennzeichen angegebenen nIndexKoordinaten enthalten ist.

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.

Hinweise

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

Dient GetItemRect zum Abrufen der Koordinaten eines Trennzeichens, das Sie durch ein Kombinationsfeld oder ein anderes Steuerelement ersetzen möchten.

Beispiel

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

CToolBar::GetToolBarCtrl

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

CToolBarCtrl& GetToolBarCtrl() const;

Rückgabewert

Ein Verweis auf ein CToolBarCtrl-Objekt.

Hinweise

Wird verwendet GetToolBarCtrl , um die Funktionalität des allgemeinen Steuerelements der Windows-Symbolleiste zu nutzen und die Unterstützung CToolBarCtrl für die Anpassung der Symbolleiste zu nutzen.

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 lpszResourceName oder nIDResource.

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

Parameter

lpszResourceName
Zeigen Sie auf den Ressourcennamen der zu ladenden Bitmap.

nIDResource
Ressourcen-ID der zu ladenden Bitmap.

Rückgabewert

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

Hinweise

Die Bitmap sollte ein Bild für jede Symbolleistenschaltfläche enthalten. Wenn die Bilder nicht der Standardgröße entsprechen (16 Pixel breit und 15 Pixel hoch), rufen Sie SetSizes auf, um die Schaltflächengrößen und deren 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 16-Farbige Bitmap und zeigt eine Warnmeldung an, wenn das Bild konvertiert wurde. Wenn Sie ein Bild mit mehr als 16 Farben (mit einem externen Editor zum Bearbeiten des Bilds) verwenden, verhält sich die Anwendung möglicherweise unerwartet.

CToolBar::LoadToolBar

Rufen Sie diese Memberfunktion auf, um die durch lpszResourceName oder nIDResource.

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

Parameter

lpszResourceName
Zeigen Sie auf den Ressourcennamen der zu ladenden Symbolleiste.

nIDResource
Ressourcen-ID der zu ladenden Symbolleiste.

Rückgabewert

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

Hinweise

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

Beispiel

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

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

Hinweise

Rufen Sie beispielsweise auf SetBitmap , um das Bitmapbild zu ändern, nachdem der Benutzer eine Aktion für ein Dokument ausgeführt 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
Die neue Schaltflächenformatvorlage. Die folgenden Schaltflächenformate werden unterstützt:

  • TBBS_BUTTON Standard-Pushbutton (Standard)

  • TBBS_SEPARATOR Trennzeichen

  • TBBS_CHECKBOX Schaltfläche "Automatisches Kontrollkästchen"

  • 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 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 Der Schaltflächentext hat kein Zugriffstastenpräfix zugeordnet.

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

Hinweise

Bei Trennzeichen, die die Formatvorlage TBBS_SEPARATORaufweisen, legt diese Funktion die Breite des Trennzeichens in Pixel auf den in gespeicherten iImageWert fest.

Hinweis

Sie können Schaltflächenzustände auch mithilfe des nStyle Parameters festlegen. Da Schaltflächenzustände jedoch vom ON_UPDATE_COMMAND_UI Handler gesteuert werden, gehen alle von SetButtonInfo Ihnen festgelegten Zustände während der nächsten Leerlaufverarbeitung verloren. Weitere Informationen finden Sie unter How to Update User-Interface Objects and TN031: Control Bars.See How to Update User-Interface Objects and TN031: Control Bars for more information.

Informationen zu Bitmapbildern und Schaltflächen finden Sie unter " CToolBar Übersicht" und CToolBar::LoadBitmap".

CToolBar::SetButtons

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

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

Parameter

lpIDArray
Zeigen Sie auf ein Array von Befehls-IDs. Es kann NULL sein, leere Schaltflächen zuzuweisen.

nIDCount
Die Anzahl der Elemente im Array, auf die verwiesen wird.lpIDArray

Rückgabewert

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

Hinweise

Wenn ein Element des Arrays den Wert ID_SEPARATORaufweist, wird an der entsprechenden Position der Symbolleiste ein Trennzeichen erstellt. Diese Funktion legt außerdem die Formatvorlage der einzelnen Schaltflächen auf TBBS_BUTTON und die Formatvorlage jedes Trennzeichens fest TBBS_SEPARATORund 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 zuweist. 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 und 3 zugewiesen.

Wenn lpIDArray NULL ist, weist diese Funktion Platz für die Anzahl der elemente zu, die durch nIDCount. Wird verwendet SetButtonInfo , um die Attribute der einzelnen Elemente festzulegen.

CToolBar::SetButtonStyle

Rufen Sie diese Memberfunktion auf, um die Formatvorlage einer Schaltfläche oder eines Trennzeichens festzulegen 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
Die Schaltflächenformatvorlage. Die folgenden Schaltflächenformate werden unterstützt:

  • TBBS_BUTTON Standard-Pushbutton (Standard)

  • TBBS_SEPARATOR Trennzeichen

  • TBBS_CHECKBOX Schaltfläche "Automatisches Kontrollkästchen"

  • 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 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 Der Schaltflächentext hat kein Zugriffstastenpräfix zugeordnet.

Hinweise

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

Rufen Sie vor dem Aufrufen SetButtonStyledie GetButtonStyle Memberfunktion auf, um die Schaltfläche oder das Trennzeichenformat abzurufen.

Hinweis

Sie können Schaltflächenzustände auch mithilfe des nStyle Parameters festlegen. Da Schaltflächenzustände jedoch vom ON_UPDATE_COMMAND_UI Handler gesteuert werden, gehen alle von SetButtonStyle Ihnen festgelegten Zustände während der nächsten Leerlaufverarbeitung verloren. Weitere Informationen finden Sie unter How to Update User-Interface Objects and TN031: Control Bars.See How to Update User-Interface Objects and TN031: Control Bars for more information.

CToolBar::SetButtonText

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

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

Sehen Sie sich 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.

void SetHeight(int cyHeight);

Parameter

cyHeight
Die Höhe in Pixel der Symbolleiste.

Hinweise

Verwenden Sie nach dem Aufrufen diese Memberfunktion, um die Standardsymbolleistenhöhe außer Kraft SetSizeszu setzen. 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 Symbolleistenhöhe zu bestimmen.

CToolBar::SetSizes

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

void SetSizes(
    SIZE sizeButton,
    SIZE sizeImage);

Parameter

sizeButton
Die Größe in Pixeln jeder Schaltfläche.

sizeImage
Die Größe in Pixeln jedes Bilds.

Hinweise

Der sizeImage Parameter muss die Größe der Bilder in Pixeln in der Bitmap der Symbolleiste enthalten. Die Abmessungen in sizeButton müssen ausreichen, um das Bild plus 7 Pixel zusätzliche Breite und 6 Pixel zusätzliche Höhe zu halten. Diese Funktion legt außerdem die Symbolleistenhöhe so fest, dass sie an die Schaltflächen angepasst wird.

Rufen Sie diese Memberfunktion nur für Symbolleisten auf, die den Windows-Schnittstellenrichtlinien für softwaredesign-Empfehlungen für Schaltflächen und Bildgrößen nicht 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));

Siehe auch

MFC-Beispiel CTRLBARS
MFC-Beispiel DLGCBR32
MFC-Beispiel DOCKTOOL
CControlBar Klasse
Hierarchiediagramm
CToolBarCtrl Klasse