向CToolBar中添加按钮
TBBUTTON tbButton;
tbButton.dwData  = NULL;
tbButton.fsState  = TBSTATE_ENABLED | TBSTATE_WRAP;          //按钮状态
tbButton.fsStyle  = (BYTE)TBSTYLE_BUTTON | TBSTYLE_AUTOSIZE; //按钮风格

tbButton.iBitmap  = 1;
nActive = num;
tbButton.idCommand = nID++;
num++;
m_MyToolBar.GetToolBarCtrl().AddButtons(1, &tbButton);
加进去之后,要用鼠标拖动一下才会显示出来。后来发现是CToolBar的长度没有变。
但是我m_MyToolBar.GetWindowRect(&rectButton);获取矩形,发现大小确实已经变了。
但是执行m_MyToolBar.RedrawWindow(&rectButton);果然还是没有反应。
m_MyToolBar.Invalidate();
m_MyToolBar.UpdateWindow();
m_MyToolBar.SetRedraw();都试过了不行
哪位大虾指点一下。还有改变工具栏的背景色,网上找到的都是改变按钮。工具栏背景色怎么设置。最好给点简单代码

解决方案 »

  1.   

    我是在MDI里面自己定义的CToolBar    m_MyToolBar;
    然后调用的
    m_MyToolBar.EnableDocking(CBRS_ALIGN_ANY);
    EnableDocking(CBRS_ALIGN_ANY);
    DockControlBar(&m_MyToolBar);
    不知道有影响没
      

  2.   

    调用AfxGetApp()->m_pMainWnd->PostMessage(WM_SIZE, 0, 0);就OK
      

  3.   

    在OnCreate()中写是不行的,此时窗口在创建,但是工具栏和状态栏等还没有创建好,是获取不到工具条大小的。可以自定义消息进行修改,用PostMessage()发送消息调用自己的消息,不要用SendMessage()
      

  4.   

    CToolBar 控件的背景颜色或者图片怎么改变呢