TBBUTTON tbButtons [5] = 
{
{1, IDM_BTN1, TBSTATE_ENABLED, TBSTYLE_BUTTON , 0L, 0},
{0, IDM_BTN2, TBSTATE_ENABLED, TBSTYLE_SEP, 0L, 0},
{1, IDM_BTN2, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0L, 0},
{0, IDM_BTN2, TBSTATE_ENABLED, TBSTYLE_SEP, 0L, 0},
{0, IDM_BTN2, TBSTATE_ENABLED, TBSTYLE_SEP, 0L, 0},
}; 

::SendMessage(m_hWnd, TB_ADDBUTTONS,5, (LPARAM)&tbButtons);这些语句建立了工具栏按钮,可是建立后工具栏上只有一个第一个按钮和一个seperator,后面的一个按钮和2个seperator都没显示出来,不知道为什么TOOLBAR我是这样建的:const DWORD DEFAULT_TOOLBAR_STYLE = 
 WS_CHILD | WS_CLIPSIBLINGS | WS_VISIBLE | WS_TABSTOP |
TBSTYLE_TOOLTIPS | TBSTYLE_FLAT | TBSTYLE_TRANSPARENT | TBSTYLE_LIST | TBSTYLE_CUSTOMERASE |
TBSTYLE_WRAPABLE |
 CCS_TOP | CCS_NODIVIDER | CCS_NOPARENTALIGN | CCS_NORESIZE;
m_ToolbarWnd .Create(m_hWnd, rect, NULL, DEFAULT_TOOLBAR_STYLE);

解决方案 »

  1.   

    注意Button的ID,你的代码后三个都跟第二个一样的。
      

  2.   

    我把代码改成: TBBUTTON tbButtons [2] = 
    {
    {0, IDM_BTN1, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0L, 0},
    {1, IDM_BTN2, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0L, 0},

    }; 

    ::SendMessage(m_hWnd, TB_ADDBUTTONS,2, (LPARAM)&tbButtons);
    还是只显示第一个按钮
      

  3.   

    如果我是这样的代码 TBBUTTON tbButtons [2] = 
    {
    {0, IDM_BTN1, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0L, 0},
    {1, IDM_BTN2, TBSTATE_ENABLED, TBSTYLE_SEP, 0L, 0},
    }; 

    ::SendMessage(m_hWnd, TB_ADDBUTTONS,2, (LPARAM)&tbButtons);
    int i=::SendMessage(m_hWnd, TB_BUTTONCOUNT,0, 0);只是改动了一行seperator倒是可以显示出来
      

  4.   

    //填充工具条按钮结构:
    TBBUTTON ptoolbar[30]={{STD_HELP, //指定Windows的标准帮助图标
    MU_ONE, //工具条按钮的ID
    TBSTATE_ENABLED, //可用状态
    TBSTYLE_BUTTON, //指定创建一个可以下按的按钮
    0, //保留,由应用程序定义该参数意义
    0}, //按钮字串索引
    //创建一个分割按钮用的竖线
    {0,0,TBSTATE_ENABLED,TBSTYLE_SEP,0,0}};//在对话框上动态创建工具条,并添加工具条按钮:
    HWND hToolsWindow=::CreateToolbarEx(hDlg, //指定对话框为父窗口,将工具条创建在对话框上
    WS_CHILD|WS_VISIBLE|TBSTYLE_WRAPABLE|TBSTYLE_TOOLTIPS|
    TBSTYLE_FLAT|CCS_ADJUSTABLE,//指定工具条的创建风格
    IDB_TOOLBAR,//预定义的工具条资源ID
    30,HINST_COMMCTRL, //包含图片资源的可执行文件的实例句柄
    IDB_STD_SMALL_COLOR,//图片的资源ID
    ptoolbar, //待添加的按钮
    2, //加入到工具条的按钮的个数
    0,0,0,0,sizeof(TBBUTTON));
    ……
    //从IDR_TOOLBAR1资源中装载按钮图标到对话框的工具条上
    TBADDBITMAP tab;
    tab.hInst=hInstance;
    tab.nID=IDR_TOOLBAR1;
    iBmp=::SendMessage(hToolsWindow,TB_ADDBITMAP,(WPARAM)3,(LPARAM)&tab);