Nozioni fondamentali sulla barra degli strumenti
Questo articolo descrive l'implementazione MFC fondamentale che consente di aggiungere una barra degli strumenti predefinita all'applicazione selezionando un'opzione nella Procedura guidata applicazione. Gli argomenti trattati includono:
Opzione della barra degli strumenti della procedura guidata dell'applicazione
Per ottenere una singola barra degli strumenti con pulsanti predefiniti, selezionare l'opzione Barra degli strumenti di ancoraggio Standard nella pagina con l'etichetta Funzionalità dell'interfaccia utente. Questo aggiunge codice all'applicazione che:
Crea l'oggetto barra degli strumenti.
Gestisce la barra degli strumenti, inclusa la possibilità di ancorare o float.
Barra degli strumenti nel codice
La barra degli strumenti è un oggetto CToolBar dichiarato come membro dati della classe dell'applicazione CMainFrame
. In altre parole, l'oggetto barra degli strumenti è incorporato nell'oggetto finestra cornice principale. Ciò significa che MFC crea la barra degli strumenti quando crea la finestra cornice e distrugge la barra degli strumenti quando distrugge la finestra cornice. La dichiarazione di classe parziale seguente, per un'applicazione MDI (Multiple Document Interface), mostra i membri dati per una barra degli strumenti incorporata e una barra di stato incorporata. Mostra anche l'override della OnCreate
funzione membro.
class CMainFrame : public CMDIFrameWnd
{
// Implementation
protected: // control bar embedded members
CStatusBar m_wndStatusBar;
CToolBar m_wndToolBar;
// Generated message map functions
protected:
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
DECLARE_MESSAGE_MAP()
La creazione della barra degli strumenti viene eseguita in CMainFrame::OnCreate
. MFC chiama OnCreate dopo aver creato la finestra per il frame, ma prima che diventi visibile. L'impostazione predefinita OnCreate
generata dalla Creazione guidata applicazione esegue le attività della barra degli strumenti seguenti:
Chiama la
CToolBar
funzione membro Create dell'oggetto per creare l'oggetto CToolBarCtrl sottostante.Chiama LoadToolBar per caricare le informazioni sulle risorse della barra degli strumenti.
Chiama le funzioni per abilitare l'ancoraggio, la virgola mobile e i suggerimenti degli strumenti. Per informazioni dettagliate su queste chiamate, vedere l'articolo Ancoraggio e barre degli strumenti mobili.
Nota
L'esempio MFC Generale DOCKTOOL include illustrazioni delle barre degli strumenti MFC precedenti e nuove. Le barre degli strumenti che usano COldToolbar
richiedono chiamate nel passaggio 2 a LoadBitmap
(anziché LoadToolBar
) e a SetButtons
. Le nuove barre degli strumenti richiedono chiamate a LoadToolBar
.
Le chiamate di ancoraggio, mobile e suggerimenti per gli strumenti sono facoltative. Se si preferisce, è possibile rimuovere tali righe OnCreate
. Il risultato è una barra degli strumenti che rimane fissa, non è possibile galleggiare o ripetere il rollforward e non è possibile visualizzare le descrizioni degli strumenti.
Modifica della risorsa della barra degli strumenti
La barra degli strumenti predefinita che si ottiene con l'Applicazione guidata è basata su una risorsa personalizzata RT_TOOLBAR introdotta in MFC versione 4.0. È possibile modificare questa risorsa con l'editor della barra degli strumenti. L'editor consente di aggiungere, eliminare e ridisporre facilmente i pulsanti. Contiene un editor grafico per i pulsanti molto simile all'editor grafico generale in Visual C++. Se le barre degli strumenti sono state modificate nelle versioni precedenti di Visual C++, l'attività sarà molto più semplice.
Per connettere un pulsante della barra degli strumenti a un comando, assegnare al pulsante un ID comando, ad esempio ID_MYCOMMAND
. Specificare l'ID comando nella pagina delle proprietà del pulsante nell'editor della barra degli strumenti. Creare quindi una funzione del gestore per il comando . Per altre informazioni, vedere Mapping dei messaggi alle funzioni .
Le nuove funzioni membro CToolBar funzionano con la risorsa RT_TOOLBAR . LoadToolBar ora assume il posto di LoadBitmap per caricare la bitmap delle immagini dei pulsanti della barra degli strumenti e SetButtons per impostare gli stili dei pulsanti e connettere i pulsanti con immagini bitmap.
Per informazioni dettagliate sull'uso dell'editor della barra degli strumenti, vedere Editor barra degli strumenti.
Barre degli strumenti multiple
La Creazione guidata applicazione offre una barra degli strumenti predefinita. Se sono necessarie più barre degli strumenti nell'applicazione, è possibile modellare il codice per ulteriori barre degli strumenti in base al codice generato dalla procedura guidata per la barra degli strumenti predefinita.
Se si vuole visualizzare una barra degli strumenti come risultato di un comando, è necessario:
Creare una nuova risorsa della barra degli strumenti con l'editor della barra degli strumenti e caricarla con
OnCreate
la funzione membro LoadToolbar .Incorporare un nuovo oggetto CToolBar nella classe della finestra cornice principale.
Effettuare le chiamate di funzione appropriate in
OnCreate
per ancorare o float la barra degli strumenti, impostarne gli stili e così via.
Cosa vuoi sapere di più su
Implementazione della barra degli strumenti MFC (informazioni generali sulle barre degli strumenti)
Classi CToolBar e CToolBarCtrl