http://www.codeproject.com/KB/combobox/TransListBox.aspx
按上面的思路做了做了透明效果,总体还可以。现在有这么一个问题:当选中一项后滚动鼠标中轮出现刷新混乱问题,该如何解决?
BOSS崔得急,请各位高手抽空帮帮忙,问题解决即结帖。谢谢!

解决方案 »

  1.   


    void CListBox::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 
    {
    // TODO: Add your message handler code here and/or call default
    SetRedraw(FALSE);
    CEdit::OnVScroll(nSBCode, nPos, pScrollBar);
    SetRedraw(TRUE);

    RedrawWindow(0,0,RDW_FRAME|RDW_INVALIDATE|RDW_UPDATENOW);
    }
    这样试试看看
      

  2.   

    谢谢三位!
    按Mackz的做是把代码加在OnVScroll里吗?我试过不起作用;
    按Allen_zhang的做报了两个错误?也未成功
    请大家再帮帮忙,在线等。谢谢!
      

  3.   

    响应 WM_MOUSEWHEEL 消息?
    BOOL CXXXListBox::OnMouseWheel(UINT nFlags, short zDelta, CPoint pt)
    {
    SetRedraw(false);
    CListBox::OnMouseWheel(nFlags, zDelta, pt);
    SetRedraw(true); RedrawWindow(0,0,RDW_FRAME|RDW_INVALIDATE|RDW_UPDATENOW);
    return true;
    }
      

  4.   

    你的问题是鼠标中轮响应问题,应该在中轮消息处理函数nMouseWheel()中找原因.
      

  5.   

    楼主,你可要小心,他用了CreateCompatibleBitmap却没有DeleteObject