我想在对话框中实现这样一个工具栏。有一些按钮的图标是来自程序本身的ico资源,有一些来自SHGetFileInfo。他们都是16X16 真彩的。按钮右边有文字。示例图片:
要求就这样。请哪位高手给出 在 OnInitDialog 里完整的创建并添加几个按钮的代码。注意是基于对话框的程序。
100分马上结贴,在线等。再一次请求:请给出完整的创建 与 添加按钮的示范代码。最后随便问一下: winxp 资源管理器工具栏的图标资源在哪里提取啊,我找了shell32.dll 没发现,很喜欢她那里面的向上 撤销 剪裁等图标。

解决方案 »

  1.   

    winxp 资源管理器工具栏的图标资源在Shell32.dll中。用VC打开Shell32.dll,在资源Bitmap里,ID为214、215
      

  2.   

    工具栏按钮关注的是IMAGELIST中的图标索引,应该无需示例代码,创建一个CImageList,加载你自己的位图资源,其它来源的图标(HICON)可以直接插入到CImageList中,自己记住每个图标的索引号即可。
      

  3.   

    添加工具栏资源IDR_TOOLBAR1,定义成员变量CToolBar m_ToolBar,参考下面初始化代码:
    m_ToolBar.Create(this);
    m_ToolBar.LoadToolBar(IDR_TOOLBAR1);
    CToolBarCtrl& tbCtrl = m_ToolBar.GetToolBarCtrl();
    tbCtrl.SetStyle(tbCtrl.GetStyle()|TBSTYLE_LIST);
    tbCtrl.SetExtendedStyle(TBSTYLE_EX_MIXEDBUTTONS);
    TBBUTTONINFO tbbi;
    tbbi.cbSize = sizeof(tbbi);
    tbbi.dwMask = TBIF_SIZE|TBIF_TEXT|TBIF_STYLE;
    tbbi.fsStyle = BTNS_BUTTON|BTNS_SHOWTEXT;
    tbbi.cx = 100;
    tbbi.pszText = _T("Test");
    tbCtrl.SetButtonInfo(ID_COMMAND1, &tbbi);
    RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);
      

  4.   

      VC应用 —— 个性化你的工具栏图标
    http://blog.csdn.net/sunny3106/archive/2007/08/19/1750591.aspx
      

  5.   

    不是框架CmainFrame 程序啊!是对话框程序!!CToolbar 定义了,CImageList 也定义了 也SetImageList了,也添加了,就是不显示按钮我知道我的代码肯定有点问题,所以来 求个示例。。框架的例子不要了。
      

  6.   

    好了,问题已经找到了3楼的代码是 取TOOLBAR资源的。原来工具栏还要 MoveWindow 然后在ShowWindow,真是热死,搞了这么久。