不要总想着重画list还是tree,过两天还想把滚动条换成自己的图片。这些都不能做的很好。你要想做的漂亮,就自己从头做,从CWnd派生。
但是CTreeCtrl还是不要自己坐了,太麻烦。

解决方案 »

  1.   

    有点问题的建议:
    HBRUSH CMPlayerDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
    {
    ...........
      m_pListBrush=new CBrush();
    m_pListBrush->CreatePatternBrush(pBrushBitmap);
    return HBRUSH(m_pListBrush->GetSafeHandle());
    ............
    }
      

  2.   

    在InitInstance()中加入
    if (!AfxOleInit())
    {
    AfxMessageBox("Unable to initialize OLE.\nTerminating application!");
    return FALSE;
    }
    最好在顶部,否则可能不行。
    然后在clistview的OnInitialUpdate()
    加入
    GetListCtrl().SetBkImage("c:\\beaty.gif",TRUE);
    即可
    如要透明:

    GetListCtrl().SetTextBkColor(-1);
    一定可以。
      

  3.   

    请参考MFC经典问答一书,上有详细的回答。
      

  4.   

    谢谢各位的热心帮助。
    另,LiGun(GUN):哪里有下载《MFC经典问答》或与之相关问题的解答?
      

  5.   

    谢谢huashanyjj(舟楚渔),CListView的问题已经解决。
    但是CTreeView没有提供SetBkImage方法,不知该如何解决?