Condividi tramite


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:

  1. Creare una risorsa della barra degli strumenti.

  2. Costruire l'oggetto CToolBar.

  3. Chiamare la Create funzione (o CreateEx) per creare la barra degli strumenti di Windows e collegarla all'oggetto CToolBar .

  4. Chiamare LoadToolBar per caricare la risorsa della barra degli strumenti.

In caso contrario, seguire questa procedura:

  1. Costruire l'oggetto CToolBar.

  2. Chiamare la Create funzione (o CreateEx) per creare la barra degli strumenti di Windows e collegarla all'oggetto CToolBar .

  3. Chiamare LoadBitmap per caricare la bitmap che contiene le immagini del pulsante della barra degli strumenti.

  4. 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 CToolBardi , vedere l'articolo Implementazione della barra degli strumenti MFC e Nota tecnica 31: Barre di controllo.

Gerarchia di ereditarietà

CObject

CCmdTarget

CWnd

CControlBar

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 nIDriferimento , nStylee 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 Separatore

  • TBBS_CHECKBOX Pulsante Casella di controllo automatica

  • TBBS_GROUP Contrassegna l'inizio di un gruppo di pulsanti

  • TBBS_CHECKGROUP Contrassegna l'inizio di un gruppo di pulsanti della casella di controllo

  • TBBS_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 lpIDArraypunta .

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_SEPARATORe 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 Separatore

  • TBBS_CHECKBOX Pulsante Casella di controllo automatica

  • TBBS_GROUP Contrassegna l'inizio di un gruppo di pulsanti

  • TBBS_CHECKGROUP Contrassegna l'inizio di un gruppo di pulsanti della casella di controllo

  • TBBS_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

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