VS2008 sp1 以后有了 BCG 的包,可以使用 CMFCToolbar 来加载真彩色工具栏。但是在经典 MFC 框架下,默认还只是 16 色的工具栏,通过下面的方法就可以加载真彩工具栏了。直接上代码:
// MainFrm.h
protected:
CToolBar m_wndToolBar;
CImageList m_ilToolbarNormalImageList;
CImageList m_ilToolbarDisabledImageList;
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
// ...
if (m_ilToolbarNormalImageList.Create(16, 15, ILC_COLOR24 | ILC_MASK, 8, 1))
{
CBitmap bmToolbarNormalBitmap;
if (bmToolbarNormalBitmap.LoadBitmap(IDR_MAINFRAME_256N))
{
m_ilToolbarNormalImageList.Add(&bmToolbarNormalBitmap, RGB(235, 233, 237));
m_wndToolBar.SendMessage(TB_SETIMAGELIST, 0U, reinterpret_cast<LPARAM>(m_ilToolbarNormalImageList.GetSafeHandle()));
m_ilToolbarNormalImageList.Detach();
}
bmToolbarNormalBitmap.Det