怎样刷新工具栏?
请给出代码,谢谢!

解决方案 »

  1.   

    m_wndToolBar.Invalidate()
    这个不行么?
      

  2.   

    1.用Invalidate()2.也可以用InvalidateRect()
    此时
    CRect rect;
    m_wndToolBar.GetWindowRect(&rect);
    m_wndToolBar.ScreenToClient(&rect);
    InvalidateRect(&rect, TRUE);一般系统会自动刷新的,你在创建了工具栏时在mainfram.cpp里
    //设置下拉数组
    m_wndToolBar.GetToolBarCtrl().SetExtendedStyle(TBSTYLE_EX_DRAWDDARROWS);

    DWORD dwStyle = m_wndToolBar.GetButtonStyle(m_wndToolBar.CommandToIndex(ID_TEST));
    dwStyle |= TBSTYLE_DROPDOWN;
    m_wndToolBar.SetButtonStyle(m_wndToolBar.CommandToIndex(ID_TEST), dwStyle);
      

  3.   

    因为我用了SkinMagic2.01,当用32*32的真彩工具栏时,很多时候不能正常显示出来,所以我想建立一个线程没隔1秒就刷新一下,但线程中不能直接访问工具栏,是不是一定要用消息,请各位大侠指点?