我想让列表框(IDC_LIST,查看时报告模式)的某一行的背景色改为红色,从而让其突出显示出来.求教怎么弄

解决方案 »

  1.   

    http://www.codeproject.com/KB/combobox/xlistbox.aspx
    参看一下这个
      

  2.   

    从CListBox派生一个类, 并重写:
    void CMyListBox::DrawItem(LPDRAWITEMSTRUCT pDIS)
    {
    //初始化画笔, 画刷等信息, 代码省略::FillRect(pDIS->hdc,&pDIS->rcItem);
    CString strVal;
    GetText(strVal);
    ::DrawText(pDIS->hdc,strVal,strVal.GetLength(),&pDIS->rcItem,DT_LEFT | DT_VCENTER | DT_SINGLELINE);
    }在你的对话框类中用CMyListBox绑定某个CListBox控件, 或者直接:
    CMyListBox* m_pLB;
    m_pLB=new CMyListBox();
    m_pLB->Create(...);
      

  3.   

    Sorry,看错了,lz说的是CListCtrl(report),不是CListBox,自绘处理DrawItem
      

  4.   

    可以参考一下,这个http://www.codeproject.com/KB/list/selectentirerow.aspx
      

  5.   

    别点上面的网页,全是英文的,点了之后还关不上,关一个会自动再打开两个相同的网页。rubbish!