Utilizzo di elenchi di immagini in un controllo Toolbar
Per impostazione predefinita, le immagini usate dai pulsanti in un controllo barra degli strumenti vengono archiviate come una singola bitmap. Tuttavia, è anche possibile archiviare le immagini dei pulsanti in un set di elenchi di immagini. L'oggetto controllo barra degli strumenti può usare fino a tre elenchi di immagini separati:
Elenco di immagini abilitate Contiene immagini per i pulsanti della barra degli strumenti attualmente abilitati.
Elenco di immagini disabilitate Contiene immagini per i pulsanti della barra degli strumenti attualmente disabilitati.
Elenco di immagini evidenziato Contiene immagini per i pulsanti della barra degli strumenti attualmente evidenziati. Questo elenco di immagini viene utilizzato solo quando la barra degli strumenti utilizza lo stile TBSTYLE_FLAT.
Questi elenchi di immagini vengono utilizzati dal controllo barra degli strumenti quando li si associa all'oggetto CToolBarCtrl
. Questa associazione viene eseguita effettuando chiamate a CToolBarCtrl::SetImageList, SetDisabledImageList e SetHotImageList.
Per impostazione predefinita, MFC usa la CToolBar
classe per implementare le barre degli strumenti dell'applicazione MFC. Tuttavia, la GetToolBarCtrl
funzione membro può essere usata per recuperare l'oggetto incorporato CToolBarCtrl
. È quindi possibile effettuare chiamate alle CToolBarCtrl
funzioni membro usando l'oggetto restituito.
L'esempio seguente illustra questa tecnica assegnando un elenco di immagini abilitato (m_ToolBarImages
) e disabilitato (m_ToolBarDisabledImages
) a un CToolBarCtrl
oggetto (m_ToolBarCtrl
).
CWinApp* pApp = AfxGetApp();
m_ToolBarImages.Create(16, 16, ILC_COLOR, 4, 4);
m_ToolBarImages.Add(pApp->LoadIcon(IDI_BLK));
m_ToolBarImages.Add(pApp->LoadIcon(IDI_RED));
m_ToolBarImages.Add(pApp->LoadIcon(IDI_YELL));
m_ToolBarImages.Add(pApp->LoadIcon(IDI_WHI));
m_ToolBarDisabledImages.Create(16, 16, ILC_COLOR, 4, 4);
m_ToolBarDisabledImages.Add(pApp->LoadIcon(IDI_DIS_BLK));
m_ToolBarDisabledImages.Add(pApp->LoadIcon(IDI_DIS_RED));
m_ToolBarDisabledImages.Add(pApp->LoadIcon(IDI_DIS_YELL));
m_ToolBarDisabledImages.Add(pApp->LoadIcon(IDI_DIS_WHI));
m_ToolBarCtrl.SetImageList(&m_ToolBarImages);
m_ToolBarCtrl.SetDisabledImageList(&m_ToolBarDisabledImages);
Nota
Gli elenchi di immagini utilizzati dall'oggetto barra degli strumenti devono essere oggetti permanenti. Per questo motivo, sono in genere membri dati di una classe MFC; in questo esempio, la classe della finestra cornice principale.
Quando gli elenchi di immagini sono associati all'oggetto CToolBarCtrl
, il framework visualizza automaticamente l'immagine del pulsante corretta.