如何修改ClistCtrl中的网格线吖,有没好的代码或思路,不要来两个简单字“重绘”- -!!谢谢大家了~

解决方案 »

  1.   


    你要是设置属性grid实现的网格的话,不能够实现你说的效果吧。
      

  2.   

    void CHostListCtrl::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
    {
    CDC* pDC = CDC::FromHandle(lpDrawItemStruct->hDC);
    CRect rcItem = lpDrawItemStruct->rcItem;
    int nItem=lpDrawItemStruct->itemID; CBrush brush;
    brush.CreateSolidBrush(m_crBackColor);
    pDC->FillRect(rcItem, &brush);
    brush.DeleteObject(); // Item的标题字体
    pDC->SelectObject(m_ftItem);

    //某一行被选中,改变背景色
    if (lpDrawItemStruct->itemState & ODS_SELECTED)
    {
    if(m_bSelectState || pItemData->nHostState == enStateOnline)
    {
    CBrush brush;
    brush.CreateSolidBrush(m_crSelBackColor);
    pDC->FillRect(rcItem,&brush);
    brush.DeleteObject(); pDC->SetTextColor(m_crSelTextColor);
    }
    }
    CPen pen;
    pen.CreatePen(0, 1, m_crLineColor);
    pDC->SelectObject(pen);
    pDC->MoveTo(CPoint(rcItem.left, rcItem.bottom-1));
    pDC->LineTo(CPoint(rcItem.right, rcItem.bottom-1));
    pen.DeleteObject();
    }