[code=C/C++][
CImageList m_imagelist;
 m_imagelist.Create(32,32,ILC_COLOR24|ILC_MASK,3,0);
 m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON1));
 m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON2));
 m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON3));
UINT arry[10];
 for(int i=0;i<3;i++)
 {
  if(i==3)              //第四个按钮为分割条;
   arry[i]=ID_SEPARATOR;
  else
   arry[i]=i+1001;
 }
CToolBar m_toolbar
m_toolbar.Create(this); m_toolbar.SetButtons(arry,3);
 m_toolbar.SetButtonText(0,_T("请问我企鹅")); //图片下面添加文字;
 m_toolbar.SetButtonText(1,_T("加打"));
 m_toolbar.SetButtonText(2,_T("的啊"));
 m_toolbar.GetToolBarCtrl().SetButtonWidth(50,70);
 m_toolbar.GetToolBarCtrl().SetImageList(&m_imagelist);
 m_toolbar.SetSizes(CSize(70,50),CSize(32,32));//设置大小
/code]
现在显示的界面出来了, 但是按钮时灰色的, 不能响应命令。。 请问怎么添加响应命令?????????

解决方案 »

  1.   

    typedef struct _TBBUTTON {
    int iBitmap;   // 按纽在位图中的索引,以0为基数
    int idCommand;   // 按纽的Command ID,当按纽被按下时将发送此Command ID
    BYTE fsState;    // 按纽状态
    BYTE fsStyle;    // 按纽风格
    DWORD dwData;  // 用户自定义数据
    int iString;  // 以0为基数的按纽标签字符串的索引
    } TBBUTTON;
      

  2.   

    知道了, arry[i]=i+1001;SetButtons(arry,3); Specifies the pointer to an array of command Ids. It can be NULL to allocate empty buttons.
      

  3.   

    WM_COMMAND
    这个win32 响应按钮按下的常量
    不知道你说的是不是这个呢?
    MFC我也不会帮不上忙了~!
      

  4.   

    你的toolBar的每个按钮都有各自的ID,通过向导加消息函数,或者手动加都行,最好用向导。
      

  5.   

    m_toolbar.SetButtons(arry,3); 第一个参数就是存你要响应的按钮的id的值,、
    比如有ID_NEW 他的value是32771;
    有好多个就用数组存起来,
    Unit array[3];
    array[0]=响应的按钮的id的value值


    m_toolbar.SetButtons(arry,3); 
    其实上面的都有,你可能没仔细看。
    或者建立一个隐藏的菜单,菜单项的Id和工具栏的Id相同。 当你点工具栏的按钮时也一样响应命令