在VS2008中通过添加资源,新建了一个ToolBar,如何在ToolBar每个按钮中添加文字或则图标。又在对话框中如何调用这个ToolBar,希望各位高手们给小弟指教,先谢过了。

解决方案 »

  1.   

    http://msdn.microsoft.com/zh-cn/library/x53extbc(VS.80).aspx
      

  2.   

    对于基于对话框的应用程序,MFC AppWizard还没有对工具条的支持,但可以通过使用CToolBar类来构造生成工具条,我们下面介绍如何为对话框程序添加工具条。
    用MFC AppWizard(EXE)生成一个基于对话框的应用程序,接受其默认设置,取名为demodialog。
    给应用程序添加一个Toolbar的名称为IDR_TOOLBAR1的工具条资源,名称分别如下:
    ID_NEW ∥生成新的程序等
    ID_FILE_OPEN ∥打开文件
    ID_FILE_SAVE ∥保存文件
    ID_EXIT ∥退出程序
    然后在对话框的头文件中添加如下的成员变量:
    CToolBar m_wndToolBar;
    在resoure编辑框中编辑这些toolbar资源,设置好大小和彼此的距离,添加工具条前,需要初始化工具条,添加如下所示的代码到demodialog.cpp的OnInitDialog()函数中。
    如果要使工具条是平面浮动的,可以添加如下的代码到对话框初始化函数中。
    ……
    if(!m_wndToolBar.CreateEx(this,TBSTYLE_FLAT, WS_CHILD|WS_VISIBLE|CBRS_TOP|CBRS_GRIPPER|CBRS_TOOLTIPS|CBRS_FLYBY|CBRS_SIZE_DYNAMIC)||!m_wndToolBar.LoadToolBar(IDR_TOOLBAR1))
    {
    TRACE0(″创建工具条失败\n″);
    return -1;∥不能创建,返回报-1
    }RepositionBar
    s(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);∥定位工具条
    ……
    如果要使工具条是立体静态的,添加如下的代码到对话框初始化函数中。
    ……
    if(!m_wndToolBar.Create(this)||!m_wndToolBar.LoadToolBar(IDR_TOOLBAR1))
    {
    TRACE(″创建工具条失败\n″);
    return -1;∥不能创建,返回
    }RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);∥定位工具条
    ……
    编译生成的程序,就实现了对话框的工具条,如果需要添加另外的对话框的工具条代码实现,用ClassWizard为工具条添加消息映射即可。
      

  3.   

    楼主是用的CToolbarCtrl还是CMFCToolBar,vc2008 sp1中提供了CMFCToolbar类。两者有一定的区别。
      

  4.   


    我也不知道,就是很直接的用添加资源,添加了一个Toolbar,至于你说的,我不知道,还望指教