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 CMDIFrameWnd
abgeleitet 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:
Erstellen Sie eine Symbolleistenressource.
Erstellen Sie das
CToolBar
Objekt.Rufen Sie die
Create
(oderCreateEx
) Funktion auf, um die Windows-Symbolleiste zu erstellen und an dasCToolBar
Objekt anzufügen.Aufrufen
LoadToolBar
, um die Symbolleistenressource zu laden.
Führen Sie andernfalls die folgenden Schritte aus:
Erstellen Sie das
CToolBar
Objekt.Rufen Sie die
Create
(oderCreateEx
) Funktion auf, um die Windows-Symbolleiste zu erstellen und an dasCToolBar
Objekt anzufügen.Rufen Sie
LoadBitmap
auf, um die Bitmap zu laden, die die Schaltflächenbilder der Symbolleiste enthält.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_SEPARATOR
aufweist, 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 CToolBar
finden Sie im Artikel MFC Toolbar Implementation and Technical Note 31: Control Bars.
Vererbungshierarchie
CToolBar
Anforderungen
Header: afxext.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 CreateEx
anstelle 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 nIndex
Koordinaten 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
Ein Beispiel hierfür finden Sie unter 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
Ein Beispiel hierfür finden Sie unter 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
SeparatorTBBS_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_SEPARATOR
aufweisen, legt diese Funktion die Breite des Trennzeichens in Pixel auf den in gespeicherten iImage
Wert 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 lpIDArray
angegeben 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_SEPARATOR
aufweist, 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_SEPARATOR
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 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
Der Stil der Schaltfläche. Die folgenden Schaltflächenformate werden unterstützt:
TBBS_BUTTON
Standard-Pushbutton (Standard)TBBS_SEPARATOR
SeparatorTBBS_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ächeTBBS_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 SetButtonStyle
die 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
Ein Beispiel hierfür finden Sie unter 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 SetSizes
zu 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