大家讨论讨论~~~~~我有想过重载TOOLBAR,可不知道要从哪里下手,郁闷~

解决方案 »

  1.   

    vckbase都找过了,能载的也载了,可就是没有我需要的。
      

  2.   

    http://search.csdn.net/Expert/topic/1231/1231087.xml?temp=2.386111E-02
      

  3.   

    _TrackMouseEvent(...)试试,如果鼠标在按钮上,设置标志为TRUE,然后MyButtoon.SetBkColor??(..);
      

  4.   

    BOOL CMainFrame::PreTranslateMessage(MSG* pMsg) 
    {
    if(WM_MOUSEMOVE == pMsg->message)
    {
    if(m_wndToolBar.GetSafeHwnd() == pMsg->hwnd)
    {
    DWORD dw = GetMessagePos();
    CPoint pt(LOWORD(dw),HIWORD(dw));//鼠标的屏幕坐标 const int nButtonCount = m_wndToolBar.GetToolBarCtrl().GetButtonCount();
    for(int i = 0 ; i < nButtonCount ; i++)
    {
    CRect r;
    m_wndToolBar.GetItemRect(i,&r);
    m_wndToolBar.ClientToScreen(&r);
    if(r.PtInRect(pt))
    {
    UINT nID,nStyle;
    int nImage;
    m_wndToolBar.GetButtonInfo(i,nID,nStyle,nImage);
    m_wndToolBar.SetButtonInfo(i,nID,nStyle,12);
    TRACE("in %d \n" + CString(i + 48));
    }
    }
    }
    }
    return CFrameWnd::PreTranslateMessage(pMsg);
    }用画图工具把工具栏所对应的位图加长
    m_wndToolBar.SetButtonInfo(i,nID,nStyle,12);
    12根据情况定
      

  5.   

    用画图工具把工具栏所对应的位图加长
    在程序所在文件夹/res下
    默认名称是toolbar.bmp技术上可行
    符合你的要求吗?
    如果不明白,你可以
    (1),给我发短消息(请附帖子的地址).
    (2),根据http://www.vcshare.net上的联系方式与我联系,推荐QQ.
    (3),如果问题简单,请在http://www.vcshare.net/bbs上发帖.
        如果问题比较复杂,请把代码压成*.rar当附件发在我的论坛上发帖.
        同时在www.csdn.net上发帖,并给出在我的论坛的链接.
    ---------------
    压代码前,请先删除debug,release文件夹,及*.opt,*.ncb,*.plg,*.aps.
      

  6.   

    同上,当鼠标停留和不停留在工具条上,选用两个不同的位图来实现,VC和Vc.net就是这样来实现这个效果的