Classe CToolBar
Barre di controllo con una riga di pulsanti bitmap e separatori facoltativi.
Sintassi
class CToolBar : public CControlBar
Membri
Costruttori pubblici
Nome | Descrizione |
---|---|
CToolBar::CToolBar |
Costruisce un oggetto CToolBar . |
Metodi pubblici
Nome | Descrizione |
---|---|
CToolBar::CommandToIndex |
Restituisce l'indice di un pulsante con l'ID comando specificato. |
CToolBar::Create |
Crea la barra degli strumenti di Windows e la collega all'oggetto CToolBar . |
CToolBar::CreateEx |
Crea un CToolBar oggetto con stili aggiuntivi per l'oggetto incorporato CToolBarCtrl . |
CToolBar::GetButtonInfo |
Recupera l'ID, lo stile e il numero di immagine di un pulsante. |
CToolBar::GetButtonStyle |
Recupera lo stile di un pulsante. |
CToolBar::GetButtonText |
Recupera il testo che verrà visualizzato su un pulsante. |
CToolBar::GetItemID |
Restituisce l'ID del comando di un pulsante o di un separatore in corrispondenza dell'indice specificato. |
CToolBar::GetItemRect |
Recupera il rettangolo di visualizzazione per l'elemento in corrispondenza dell'indice specificato. |
CToolBar::GetToolBarCtrl |
Consente l'accesso diretto al controllo comune sottostante. |
CToolBar::LoadBitmap |
Carica la bitmap contenente immagini del pulsante bitmap. |
CToolBar::LoadToolBar |
Carica una risorsa della barra degli strumenti creata con l'editor di risorse. |
CToolBar::SetBitmap |
Imposta un'immagine bitmap. |
CToolBar::SetButtonInfo |
Imposta l'ID, lo stile e il numero di immagine di un pulsante. |
CToolBar::SetButtons |
Imposta gli stili dei pulsanti e un indice di immagini pulsante all'interno della bitmap. |
CToolBar::SetButtonStyle |
Imposta lo stile per un pulsante. |
CToolBar::SetButtonText |
Imposta il testo che verrà visualizzato su un pulsante. |
CToolBar::SetHeight |
Imposta l'altezza della barra degli strumenti. |
CToolBar::SetSizes |
Imposta le dimensioni dei pulsanti e le relative bitmap. |
Osservazioni:
I pulsanti possono agire come pulsanti di scelta, pulsanti casella di controllo o pulsanti di opzione. CToolBar
gli oggetti sono in genere membri incorporati di oggetti finestra cornice derivati dalla classe CFrameWnd
o CMDIFrameWnd
.
CToolBar::GetToolBarCtrl
, una funzione membro nuova a MFC 4.0 consente di sfruttare il supporto del controllo comune di Windows per la personalizzazione della barra degli strumenti e funzionalità aggiuntive. CToolBar
le funzioni membro offrono la maggior parte delle funzionalità dei controlli comuni di Windows; Tuttavia, quando chiami GetToolBarCtrl
, puoi assegnare alle barre degli strumenti ancora più caratteristiche delle barre degli strumenti di Windows 95/98. Quando si chiama GetToolBarCtrl
, restituisce un riferimento a un CToolBarCtrl
oggetto . Per altre informazioni sulla progettazione di barre degli strumenti con i controlli comuni di Windows, vedere CToolBarCtrl
. Per informazioni più generali sui controlli comuni, vedere Controlli comuni in Windows SDK.
Visual C++ offre due metodi per creare una barra degli strumenti. Per creare una risorsa della barra degli strumenti usando l'Editor risorse, seguire questa procedura:
Creare una risorsa della barra degli strumenti.
Costruire l'oggetto
CToolBar
.Chiamare la
Create
funzione (oCreateEx
) per creare la barra degli strumenti di Windows e collegarla all'oggettoCToolBar
.Chiamare
LoadToolBar
per caricare la risorsa della barra degli strumenti.
In caso contrario, seguire questa procedura:
Costruire l'oggetto
CToolBar
.Chiamare la
Create
funzione (oCreateEx
) per creare la barra degli strumenti di Windows e collegarla all'oggettoCToolBar
.Chiamare
LoadBitmap
per caricare la bitmap che contiene le immagini del pulsante della barra degli strumenti.Chiamare
SetButtons
per impostare lo stile del pulsante e associare ogni pulsante a un'immagine nella bitmap.
Tutte le immagini dei pulsanti nella barra degli strumenti vengono ricavate da una bitmap, che deve contenere un'immagine per ogni pulsante. Tutte le immagini devono avere le stesse dimensioni; il valore predefinito è 16 pixel di larghezza e 15 pixel di altezza. Le immagini devono essere affiancate nella bitmap.
La SetButtons
funzione accetta un puntatore a una matrice di ID di controllo e un numero intero che specifica il numero di elementi nella matrice. La funzione imposta l'ID di ogni pulsante sul valore dell'elemento corrispondente della matrice e assegna a ogni pulsante un indice di immagine, che specifica la posizione dell'immagine del pulsante nella bitmap. Se un elemento di matrice ha il valore ID_SEPARATOR
, non viene assegnato alcun indice di immagine.
L'ordine delle immagini nella bitmap è in genere l'ordine in cui vengono disegnate sullo schermo, ma è possibile usare la SetButtonInfo
funzione per modificare la relazione tra l'ordine delle immagini e l'ordine di disegno.
Tutti i pulsanti di una barra degli strumenti hanno le stesse dimensioni. Il valore predefinito è 24 x 22 pixel, in base alle linee guida dell'interfaccia di Windows per la progettazione software. Qualsiasi spazio aggiuntivo tra le dimensioni dell'immagine e del pulsante viene usato per formare un bordo intorno all'immagine.
Ogni pulsante ha un'immagine. I vari stati e stili dei pulsanti (premuti, su, giù, disabilitati, disabilitati e indeterminato) vengono generati da tale immagine. Anche se le bitmap possono essere di qualsiasi colore, è possibile ottenere i migliori risultati con immagini in nero e sfumature di grigio.
Avviso
CToolBar
supporta bitmap con un massimo di 16 colori. Quando si carica un'immagine in un editor della barra degli strumenti, Visual Studio converte automaticamente l'immagine in una bitmap a 16 colori, se necessario, e visualizza un messaggio di avviso se l'immagine è stata convertita. Se si usa un'immagine con più di 16 colori (usando un editor esterno per modificare l'immagine), l'applicazione potrebbe comportarsi in modo imprevisto.
I pulsanti della barra degli strumenti imitano i pulsanti di scelta rapida per impostazione predefinita. Tuttavia, i pulsanti della barra degli strumenti possono anche imitare pulsanti di casella di controllo o pulsanti di opzione. I pulsanti della casella di controllo hanno tre stati: selezionata, deselezionata e indeterminato. I pulsanti di opzione hanno solo due stati: selezionata e deselezionata.
Per impostare un singolo pulsante o uno stile separatore senza puntare a una matrice, chiamare GetButtonStyle
per recuperare lo stile e quindi chiamare SetButtonStyle
invece di SetButtons
. SetButtonStyle
è più utile quando si desidera modificare lo stile di un pulsante in fase di esecuzione.
Per assegnare testo da visualizzare su un pulsante, chiamare GetButtonText
per recuperare il testo da visualizzare sul pulsante e quindi chiamare SetButtonText
per impostare il testo.
Per creare un pulsante casella di controllo, assegnarlo allo stile TBBS_CHECKBOX
o usare la funzione membro di SetCheck
un CCmdUI
oggetto in un ON_UPDATE_COMMAND_UI
gestore. La chiamata SetCheck
trasforma un pulsante di selezione in un pulsante casella di controllo. Passare SetCheck
un argomento pari a 0 per deselezionare, 1 per checked o 2 per indeterminate.
Per creare un pulsante di opzione, chiamare la funzione membro di SetRadio
un CCmdUI
oggetto da un ON_UPDATE_COMMAND_UI
gestore. Passare SetRadio
un argomento pari a 0 per un controllo non selezionato o diverso da zero. Per fornire il comportamento che si escludono a vicenda di un gruppo di radio, è necessario disporre ON_UPDATE_COMMAND_UI
di gestori per tutti i pulsanti nel gruppo.
Per altre informazioni sull'uso CToolBar
di , vedere l'articolo Implementazione della barra degli strumenti MFC e Nota tecnica 31: Barre di controllo.
Gerarchia di ereditarietà
CToolBar
Requisiti
Intestazione: afxext.h
CToolBar::CommandToIndex
Questa funzione membro restituisce l'indice del primo pulsante della barra degli strumenti, a partire dalla posizione 0, il cui ID comando corrisponde a nIDFind
.
int CommandToIndex(UINT nIDFind) const;
Parametri
nIDFind
ID comando di un pulsante della barra degli strumenti.
Valore restituito
Indice del pulsante o -1 se nessun pulsante ha l'ID comando specificato.
CToolBar::Create
Questa funzione membro crea una barra degli strumenti di Windows (una finestra figlio) e la associa all'oggetto CToolBar
.
virtual BOOL Create(
CWnd* pParentWnd,
DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_TOP,
UINT nID = AFX_IDW_TOOLBAR);
Parametri
pParentWnd
Puntatore alla finestra padre della barra degli strumenti.
dwStyle
Stile della barra degli strumenti. Sono supportati altri stili della barra degli strumenti:
CBRS_TOP
La barra di controllo si trova nella parte superiore della finestra cornice.CBRS_BOTTOM
La barra di controllo si trova nella parte inferiore della finestra cornice.CBRS_NOALIGN
La barra di controllo non viene riposizionata quando l'elemento padre viene ridimensionato.CBRS_TOOLTIPS
La barra di controllo visualizza i suggerimenti degli strumenti.CBRS_SIZE_DYNAMIC
La barra di controllo è dinamica.CBRS_SIZE_FIXED
La barra di controllo è fissa.CBRS_FLOATING
La barra di controllo è mobile.CBRS_FLYBY
La barra di stato visualizza le informazioni sul pulsante.CBRS_HIDE_INPLACE
La barra di controllo non viene visualizzata all'utente.
nID
ID finestra figlio della barra degli strumenti.
Valore restituito
Diverso da zero se ha esito positivo; in caso contrario 0.
Osservazioni:
Imposta anche l'altezza della barra degli strumenti su un valore predefinito.
Esempio
// 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
Chiamare questa funzione per creare una barra degli strumenti di Windows (una finestra figlio) e associarla all'oggetto CToolBar
.
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);
Parametri
pParentWnd
Puntatore alla finestra padre della barra degli strumenti.
dwCtrlStyle
Stili aggiuntivi per la creazione dell'oggetto incorporato CToolBarCtrl
. Per impostazione predefinita, questo valore è impostato su TBSTYLE_FLAT
. Per un elenco completo degli stili della barra degli strumenti, vedere dwStyle
.
dwStyle
Stile della barra degli strumenti. Per un elenco degli stili appropriati, vedi Stili di controllo e pulsante della barra degli strumenti in Windows SDK.
rcBorders
Oggetto CRect
che definisce le larghezze dei bordi della finestra della barra degli strumenti. Questi bordi sono impostati su 0,0,0,0 per impostazione predefinita, causando così una finestra della barra degli strumenti senza bordi.
nID
ID finestra figlio della barra degli strumenti.
Valore restituito
Diverso da zero se ha esito positivo; in caso contrario 0.
Osservazioni:
Imposta anche l'altezza della barra degli strumenti su un valore predefinito.
Usare CreateEx
, invece di Create
, quando alcuni stili devono essere presenti durante la creazione del controllo barra degli strumenti incorporato. Ad esempio, impostare su dwCtrlStyle
TBSTYLE_FLAT | TBSTYLE_TRANSPARENT
per creare una barra degli strumenti simile alle barre degli strumenti di Internet Explorer 4.
Esempio
// 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
Questa funzione membro costruisce un CToolBar
oggetto e imposta le dimensioni predefinite.
CToolBar();
Osservazioni:
Chiamare la Create
funzione membro per creare la finestra della barra degli strumenti.
CToolBar::GetButtonInfo
Questa funzione membro recupera l'ID del controllo, lo stile e l'indice dell'immagine del pulsante o del separatore della barra degli strumenti nella posizione specificata da nIndex
.
void GetButtonInfo(
int nIndex,
UINT& nID,
UINT& nStyle,
int& iImage) const;
Parametri
nIndex
Indice del pulsante o del separatore della barra degli strumenti le cui informazioni devono essere recuperate.
nID
Riferimento a un oggetto UINT impostato sull'ID comando del pulsante.
nStyle
Riferimento a un oggetto UINT impostato sullo stile del pulsante.
iImage
Riferimento a un numero intero impostato sull'indice dell'immagine del pulsante all'interno della bitmap.
Osservazioni:
Tali valori vengono assegnati alle variabili a cui fa nID
riferimento , nStyle
e iImage
. L'indice dell'immagine è la posizione dell'immagine all'interno della bitmap che contiene immagini per tutti i pulsanti della barra degli strumenti. La prima immagine si trova nella posizione 0.
Se nIndex
specifica un separatore, iImage
viene impostato sulla larghezza del separatore in pixel.
CToolBar::GetButtonStyle
Chiamare questa funzione membro per recuperare lo stile di un pulsante o di un separatore sulla barra degli strumenti.
UINT GetButtonStyle(int nIndex) const;
Parametri
nIndex
Indice del pulsante della barra degli strumenti o dello stile separatore da recuperare.
Valore restituito
Stile del pulsante o del separatore specificato da nIndex
.
Osservazioni:
Lo stile di un pulsante determina la modalità di visualizzazione del pulsante e la modalità di risposta all'input dell'utente. Vedere SetButtonStyle
per esempi di stili di pulsante.
CToolBar::GetButtonText
Chiamare questa funzione membro per recuperare il testo visualizzato su un pulsante.
CString GetButtonText(int nIndex) const;
void GetButtonText(
int nIndex,
CString& rString) const;
Parametri
nIndex
Indice del testo da recuperare.
rString
Riferimento a un CString
oggetto che conterrà il testo da recuperare.
Valore restituito
Oggetto CString
contenente il testo del pulsante.
Osservazioni:
Il secondo formato di questa funzione membro riempie un CString
oggetto con il testo stringa.
CToolBar::GetItemID
Questa funzione membro restituisce l'ID comando del pulsante o del separatore specificato da nIndex
.
UINT GetItemID(int nIndex) const;
Parametri
nIndex
Indice dell'elemento il cui ID deve essere recuperato.
Valore restituito
ID del comando del pulsante o del separatore specificato da nIndex
.
Osservazioni:
I separatori restituiscono ID_SEPARATOR
.
CToolBar::GetItemRect
Questa funzione membro riempie la struttura il RECT
cui indirizzo è contenuto in lpRect
con le coordinate del pulsante o del separatore specificato da nIndex
.
virtual void GetItemRect(
int nIndex,
LPRECT lpRect) const;
Parametri
nIndex
Indice dell'elemento (pulsante o separatore) le cui coordinate rettangolo devono essere recuperate.
lpRect
Indirizzo della RECT
struttura che conterrà le coordinate dell'elemento.
Osservazioni:
Le coordinate sono in pixel rispetto all'angolo superiore sinistro della barra degli strumenti.
Utilizzare GetItemRect
per ottenere le coordinate di un separatore che si desidera sostituire con una casella combinata o un altro controllo.
Esempio
Vedere l'esempio per CToolBar::SetSizes
.
CToolBar::GetToolBarCtrl
Questa funzione membro consente l'accesso diretto al controllo comune sottostante.
CToolBarCtrl& GetToolBarCtrl() const;
Valore restituito
Riferimento a un oggetto CToolBarCtrl
.
Osservazioni:
Usa GetToolBarCtrl
per sfruttare le funzionalità del controllo comune della barra degli strumenti di Windows e per sfruttare i vantaggi del supporto CToolBarCtrl
per la personalizzazione della barra degli strumenti.
Per altre informazioni sull'uso di controlli comuni, vedere l'articolo Controlli e controlli comuni in Windows SDK.
Esempio
// 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
Chiamare questa funzione membro per caricare la bitmap specificata da lpszResourceName
o nIDResource
.
BOOL LoadBitmap(LPCTSTR lpszResourceName);
BOOL LoadBitmap(UINT nIDResource);
Parametri
lpszResourceName
Puntatore al nome della risorsa della bitmap da caricare.
nIDResource
ID risorsa della bitmap da caricare.
Valore restituito
Diverso da zero se ha esito positivo; in caso contrario 0.
Osservazioni:
La bitmap deve contenere un'immagine per ogni pulsante della barra degli strumenti. Se le immagini non hanno dimensioni standard (16 pixel di larghezza e 15 pixel di altezza), chiamare SetSizes
per impostare le dimensioni del pulsante e le relative immagini.
Avviso
CToolBar
supporta bitmap con un massimo di 16 colori. Quando si carica un'immagine in un editor della barra degli strumenti, Visual Studio converte automaticamente l'immagine in una bitmap a 16 colori, se necessario, e visualizza un messaggio di avviso se l'immagine è stata convertita. Se si usa un'immagine con più di 16 colori (usando un editor esterno per modificare l'immagine), l'applicazione potrebbe comportarsi in modo imprevisto.
CToolBar::LoadToolBar
Chiamare questa funzione membro per caricare la barra degli strumenti specificata da lpszResourceName
o nIDResource
.
BOOL LoadToolBar(LPCTSTR lpszResourceName);
BOOL LoadToolBar(UINT nIDResource);
Parametri
lpszResourceName
Puntatore al nome della risorsa della barra degli strumenti da caricare.
nIDResource
ID risorsa della barra degli strumenti da caricare.
Valore restituito
Diverso da zero se ha esito positivo; in caso contrario 0.
Osservazioni:
Per altre informazioni sulla creazione di una risorsa della barra degli strumenti, vedere Editor della barra degli strumenti in .
Esempio
Vedere l'esempio per CToolBar::CreateEx
.
CToolBar::SetBitmap
Chiamare questa funzione membro per impostare l'immagine bitmap per la barra degli strumenti.
BOOL SetBitmap(HBITMAP hbmImageWell);
Parametri
hbmImageWell
Handle di un'immagine bitmap associata a una barra degli strumenti.
Valore restituito
Diverso da zero se ha esito positivo; in caso contrario 0.
Osservazioni:
Ad esempio, chiamare SetBitmap
per modificare l'immagine bitmap dopo che l'utente esegue un'azione su un documento che modifica l'azione di un pulsante.
CToolBar::SetButtonInfo
Chiamare questa funzione membro per impostare l'ID comando, lo stile e il numero di immagine del pulsante.
void SetButtonInfo(
int nIndex,
UINT nID,
UINT nStyle,
int iImage);
Parametri
nIndex
Indice in base zero del pulsante o del separatore per cui impostare le informazioni.
nID
Valore a cui è impostato l'ID comando del pulsante.
nStyle
Nuovo stile pulsante. Sono supportati gli stili dei pulsanti seguenti:
TBBS_BUTTON
Pulsante di scelta standard (impostazione predefinita)TBBS_SEPARATOR
SeparatoreTBBS_CHECKBOX
Pulsante Casella di controllo automaticaTBBS_GROUP
Contrassegna l'inizio di un gruppo di pulsantiTBBS_CHECKGROUP
Contrassegna l'inizio di un gruppo di pulsanti della casella di controlloTBBS_DROPDOWN
Crea un pulsante elenco a discesa.TBBS_AUTOSIZE
La larghezza del pulsante verrà calcolata in base al testo del pulsante, non alle dimensioni dell'immagine.TBBS_NOPREFIX
Al testo del pulsante non sarà associato un prefisso dell'acceleratore.
iImage
Nuovo indice per l'immagine del pulsante all'interno della bitmap.
Osservazioni:
Per i separatori, che hanno lo stile TBBS_SEPARATOR
, questa funzione imposta la larghezza del separatore in pixel sul valore archiviato in iImage
.
Nota
È anche possibile impostare gli stati del pulsante usando il nStyle
parametro . Tuttavia, poiché gli stati del ON_UPDATE_COMMAND_UI
pulsante sono controllati dal gestore, qualsiasi stato impostato utilizzando SetButtonInfo
andrà perso durante l'elaborazione inattiva successiva. Per altre informazioni, vedere Come aggiornare gli oggetti dell'interfaccia utente e TN031: Barre di controllo .
Per informazioni su immagini e pulsanti bitmap, vedere Panoramica CToolBar
e CToolBar::LoadBitmap
.
CToolBar::SetButtons
Questa funzione membro imposta l'ID comando di ogni pulsante della barra degli strumenti sul valore specificato dall'elemento corrispondente della matrice lpIDArray
.
BOOL SetButtons(
const UINT* lpIDArray,
int nIDCount);
Parametri
lpIDArray
Puntatore a una matrice di ID comando. Può essere NULL per allocare pulsanti vuoti.
nIDCount
Numero di elementi nella matrice a cui lpIDArray
punta .
Valore restituito
Diverso da zero se ha esito positivo; in caso contrario 0.
Osservazioni:
Se un elemento della matrice ha il valore ID_SEPARATOR
, viene creato un separatore nella posizione corrispondente della barra degli strumenti. Questa funzione imposta anche lo stile di ogni pulsante su TBBS_BUTTON
e lo stile di ogni separatore su TBBS_SEPARATOR
e assegna un indice di immagine a ogni pulsante. L'indice dell'immagine specifica la posizione dell'immagine del pulsante all'interno della bitmap.
Non è necessario tenere conto dei separatori nella bitmap perché questa funzione non assegna indici di immagine per i separatori. Se la barra degli strumenti dispone di pulsanti nelle posizioni 0, 1 e 3 e un separatore nella posizione 2, le immagini nelle posizioni 0, 1 e 2 nella bitmap vengono assegnate rispettivamente ai pulsanti a posizioni 0, 1 e 3.
Se lpIDArray
è NULL, questa funzione alloca spazio per il numero di elementi specificati da nIDCount
. Usare SetButtonInfo
per impostare gli attributi di ogni elemento.
CToolBar::SetButtonStyle
Chiamare questa funzione membro per impostare lo stile di un pulsante o di un separatore o per raggruppare i pulsanti.
void SetButtonStyle(
int nIndex,
UINT nStyle);
Parametri
nIndex
Indice del pulsante o del separatore le cui informazioni devono essere impostate.
nStyle
Stile del pulsante. Sono supportati gli stili dei pulsanti seguenti:
TBBS_BUTTON
Pulsante di scelta standard (impostazione predefinita)TBBS_SEPARATOR
SeparatoreTBBS_CHECKBOX
Pulsante Casella di controllo automaticaTBBS_GROUP
Contrassegna l'inizio di un gruppo di pulsantiTBBS_CHECKGROUP
Contrassegna l'inizio di un gruppo di pulsanti della casella di controlloTBBS_DROPDOWN
Crea un pulsante elenco a discesaTBBS_AUTOSIZE
La larghezza del pulsante verrà calcolata in base al testo del pulsante, non alle dimensioni dell'immagineTBBS_NOPREFIX
Al testo del pulsante non sarà associato un prefisso dell'acceleratore
Osservazioni:
Lo stile di un pulsante determina la modalità di visualizzazione del pulsante e la modalità di risposta all'input dell'utente.
Prima di chiamare SetButtonStyle
, chiamare la GetButtonStyle
funzione membro per recuperare lo stile del pulsante o del separatore.
Nota
È anche possibile impostare gli stati del pulsante usando il nStyle
parametro . Tuttavia, poiché gli stati del ON_UPDATE_COMMAND_UI
pulsante sono controllati dal gestore, qualsiasi stato impostato utilizzando SetButtonStyle
andrà perso durante l'elaborazione inattiva successiva. Per altre informazioni, vedere Come aggiornare gli oggetti dell'interfaccia utente e TN031: Barre di controllo .
CToolBar::SetButtonText
Chiamare questa funzione per impostare il testo su un pulsante.
BOOL SetButtonText(
int nIndex,
LPCTSTR lpszText);
Parametri
nIndex
Indice del pulsante di cui impostare il testo.
lpszText
Punta al testo da impostare su un pulsante.
Valore restituito
Diverso da zero se ha esito positivo; in caso contrario 0.
Esempio
Vedere l'esempio per CToolBar::GetToolBarCtrl
.
CToolBar::SetHeight
Questa funzione membro imposta l'altezza della barra degli strumenti sul valore, in pixel, specificato in cyHeight
.
void SetHeight(int cyHeight);
Parametri
cyHeight
Altezza in pixel della barra degli strumenti.
Osservazioni:
Dopo aver chiamato SetSizes
, usare questa funzione membro per eseguire l'override dell'altezza della barra degli strumenti standard. Se l'altezza è troppo piccola, i pulsanti verranno ritagliati nella parte inferiore.
Se questa funzione non viene chiamata, il framework usa le dimensioni del pulsante per determinare l'altezza della barra degli strumenti.
CToolBar::SetSizes
Chiamare questa funzione membro per impostare i pulsanti della barra degli strumenti sulle dimensioni, in pixel, specificati in sizeButton
.
void SetSizes(
SIZE sizeButton,
SIZE sizeImage);
Parametri
sizeButton
Dimensione in pixel di ogni pulsante.
sizeImage
Dimensione in pixel di ogni immagine.
Osservazioni:
Il sizeImage
parametro deve contenere le dimensioni, in pixel, delle immagini nella bitmap della barra degli strumenti. Le dimensioni in sizeButton
devono essere sufficienti per contenere l'immagine più 7 pixel in più di larghezza e 6 pixel in più in altezza. Questa funzione imposta anche l'altezza della barra degli strumenti per adattarsi ai pulsanti.
Chiamare questa funzione membro solo per le barre degli strumenti che non seguono le linee guida dell'interfaccia di Windows per le raccomandazioni sulla progettazione software per le dimensioni dei pulsanti e delle immagini.
Esempio
// 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));
Vedi anche
Esempio MFC CTRLBARS
Esempio MFC DLGCBR32
Esempio MFC DOCKTOOL
CControlBar
Classe
Grafico della gerarchia
CToolBarCtrl
Classe