toolbar属于资源,所以在RC目录中右击,添加资源-->toolbar--->新建,新建的位图放在rec目录下,名称为toolbar1,新建 的位图一般不美观,用其他画图工具做好16X16或32X32宽度的图片备用,关闭程序,删除rec目录下的toolbar1.bmp图片,然后再打开程序,此时会提示找不到toolbar1.bmp图片,按取消关闭,再把创建好的图片放在rec目录下,替换原来的toolbar1.bmp图片。此时再打开程序就是新的图片。
创建和加载语句
1、在头文件中声明变量
// 实现
protected:
HICON m_hIcon;
CToolBar m_ToolBar; //声明变量
2、在CPP中实现
// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
// 执行此操作
SetIcon(m_hIcon, TRUE); // 设置大图标
SetIcon(m_hIcon, FALSE); // 设置小图标
// TODO: 在此添加额外的初始化代码
//创建和加载工具栏
if (!m_ToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_ToolBar.LoadToolBar(IDR_TOOLBAR1))
{
TRACE0("未能创建工具栏\n");
return -1; // 未能创建
}
m_ToolBar.LoadBitmap(IDB_BITMAP1);
m_ToolBar.ShowWindow(SW_SHOW);
m_ToolBar.SetBarStyle(CBRS_ALIGN_TOP | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);
3、处理按钮的消息映射
BEGIN_MESSAGE_MAP(CToolbarDlg, CDialogEx)
ON_COMMAND(ID_TOOLBAR_BUTTON1,&CToolbarDlg::OnToolBarButton1)
END_MESSAGE_MAP()
4、在.H文件中进行OnToolBarButton1函数的声明
public:
afx_msg void OnToolBarButton1();{
5、在CPP文件中写定义
void CToolbarDlg::OnToolBarButton1()
{
AfxMessageBox(_T("您按了打开"));
}