有人用过InitializeFlatSB等系列函数来实现控件的扁平滚动条吗
我用了这些函数来实现一个listbox的扁平滚动条,
实现倒是实现了,但是就是在滚动的时候那些滚动条又变成默认(3D)的。
不知道什么愿意,我在网上找了一个例子(flat_scrollbar)也是一样的
有谁知道怎么用吗

解决方案 »

  1.   

    你可以使用 ListCtrl,然后用 ListView_SetExtendedListViewStyle 来设置 FLAT 风格:ListView_SetExtendedListViewStyle (m_lstDataRec.m_hWnd, , 
    LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_FLATSB |
    LVS_EX_TRACKSELECT | LVS_EX_UNDERLINEHOT);
      

  2.   

    我当然知道ListCtrl可以那样处理,我说的是ListBox和EditBox的滚动条的问题,因为他们没有象
    ListCtrl那样可以直接设置风格
      

  3.   

    处理WM_SCROLL消息将其中的SetScrollPos替换成FlatSB_SetScrollPos
    if (x != xOrig)
    {
    FlatSB_SetScrollPos(m_hWnd, SB_HORZ, x, TRUE);
    // SetScrollPos(SB_HORZ, x);
    }
    if (y != yOrig)
    {
    // SetScrollPos(SB_VERT, y);
    FlatSB_SetScrollPos(m_hWnd, SB_VERT, y, TRUE);
    }
      

  4.   

    参见http://expert.csdn.net/Expert/topic/2433/2433804.xml?temp=.1528131
      

  5.   

    listbox我没有试,但是我想应该是要处理它的滚动消息,流程应该和CScrollView差不多