1 新建单文档mfc项目ShowToolBar
2 导入一个位图资源
3 在CMainFrame添加成员变量
CToolBar m_wndNewToolBar;
CImageList m_ImageList;
CImageList m_ImageListHot;
4 在Resource.h里面添加定义
#define IDC_BUTTON_1 10200
#define IDC_BUTTON_2 10201
#define IDC_BUTTON_3 10202
#define IDC_BUTTON_4 10203
#define IDC_BUTTON_5 10204
5 修改CMainFrame的OnCreate()方法
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
m_ImageList.Create(32, 32, ILC_COLOR24 | ILC_MASK, 5, 5);
CBitmap bmp1, bmp2;
bmp1.LoadBitmap(IDB_BITMAP1);
m_ImageList.Add(&bmp1, RGB(255, 0, 255));
m_ImageListHot.Create(32, 32, ILC_COLOR24 | ILC_MASK, 5, 5);
bmp2.LoadBitmap(IDB_BITMAP1);
m_ImageListHot.Add(&bmp2, RGB(255, 0, 255));
UINT i;
UINT nArray[5] = { IDC_BUTTON_1,IDC_BUTTON_2 ,IDC_BUTTON_3 ,IDC_BUTTON_4 ,IDC_BUTTON_5 };
CString strButtonText[5] = { "我的电脑","本地磁盘","DVD驱动器","WINXP","WIN2000" };
m_wndNewToolBar.Create(this);
m_wndNewToolBar.SetButtons(nArray, 5);
m_wndNewToolBar.GetToolBarCtrl().SetImageList(&m_ImageList);
m_wndNewToolBar.GetToolBarCtrl().SetHotImageList(&m_ImageListHot);
for (size_t i = 0; i < 5; i++)
{
m_wndNewToolBar.SetButtonText(i, strButtonText[i]);
}
m_wndNewToolBar.SetSizes(CSize(72, 56), CSize(32, 32));
m_wndNewToolBar.SetBarStyle(m_wndNewToolBar.GetBarStyle() | CBRS_GRIPPER | CBRS_FLYBY);
m_wndNewToolBar.ModifyStyle(0, TBSTYLE_FLAT);
return 0;
}
6 在CMainFrame里面添加消息处理函数声明
afx_msg void OnNewToolBarCommand(UINT ID);
7 在消息映射里面添加映射
ON_COMMAND_RANGE(IDC_BUTTON_1,IDC_BUTTON_5,OnNewToolBarCommand)
8 实现映射函数
void CMainFrame::OnNewToolBarCommand(UINT ID)
{
switch (ID)
{
case IDC_BUTTON_1:
AfxMessageBox("我的电脑");
break;
case IDC_BUTTON_2:
AfxMessageBox("本地磁盘");
break;
case IDC_BUTTON_3:
AfxMessageBox("DVD驱动器");
break;
case IDC_BUTTON_4:
AfxMessageBox("WINXP");
break;
case IDC_BUTTON_5:
AfxMessageBox("WIN2000");
break;
default:
break;
}
}