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.

Hinweise

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

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

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

Hinweise

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();

Hinweise

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.

Hinweise

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.

Hinweise

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.

Hinweise

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

CToolBar::GetItemID

Diese Memberfunktion gibt die Befehls-ID der Schaltfläche oder des Trennzeichens zurück, die durch nIndex angegeben 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 von nIndex angegeben wird.

Hinweise

Trennzeichen geben ID_SEPARATOR.

CToolBar::GetItemRect

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

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 befinden sich in Pixeln relativ zur oberen linken Ecke der Symbolleiste.

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

Beispiel

Weitere Informationen finden Sie im Beispiel für CToolBar::SetSizes.

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.

Hinweise

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

Weitere Informationen zur Verwendung gängiger 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 lpszResourceName zu nIDResource 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).

Hinweise

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

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 (mit einem externen Editor zum Bearbeiten des Bilds), verhält sich die Anwendung möglicherweise unerwartet.

CToolBar::LoadToolBar

Rufen Sie diese Memberfunktion auf, um die durch lpszResourceName oder nIDResource angegebene 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).

Hinweise

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

Beispiel

Weitere Informationen finden Sie im Beispiel für CToolBar::CreateEx.

CToolBar::SetBitmap

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

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, um das Bitmapbild zu ändern, nachdem der Benutzer eine Aktion für ein Dokument vorgenommen hat, das die Aktion SetBitmap einer Schaltfläche ändert.

CToolBar::SetButtonInfo

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

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

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

Hinweise

Für Trennzeichen, die den Stil TBBS_SEPARATOR, legt diese Funktion die Breite des Trennzeichens in Pixel auf den in iImage gespeicherten Wert fest.

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

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

CToolBar::SetButtons

Diese Memberfunktion legt die Befehls-ID jeder Symbolleistenschaltfläche auf den Wert fest, der vom entsprechenden Element des Arrays lpIDArray angegeben 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).

Hinweise

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.

Hinweise

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.

Hinweise

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.

Hinweise

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

Siehe auch

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