16,472
社区成员
发帖
与我相关
我的任务
分享
void CListEx::DrawText(int nItem,
int nSubItem,
CDC *pDC,
COLORREF crText,
COLORREF crBkgnd,
CRect &rect)
{
ASSERT(pDC);
pDC->FillSolidRect(&rect, crBkgnd);
CBrush brush(RGB(255,255,255));
CPen pen(PS_SOLID, 2, RGB(102, 102, 102));
CPen *pOldPen = pDC->SelectObject(&pen);
CBrush *pOldBrush = pDC->SelectObject(&brush);
// pDC->FillRect(&rect, &brush);
rect.DeflateRect(2,0,-2,1);
rect.right = rect.left + 25;
pDC->Rectangle(rect);
pDC->SelectObject(pOldPen);
pDC->SelectObject(pOldBrush);
CString str = "√";
// pDC->TextOut(rect.left + 2, rect.top, str);
ItemData* pid = reinterpret_cast<ItemData*>( CListCtrl::GetItemData( nItem ) );
if(pid == NULL)
return;
if(pid->bChecked)//选中
{
UINT nFormat = DT_VCENTER | DT_SINGLELINE | DT_CENTER;
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(102, 102, 102));
// pDC->SetBkColor(RGB(120, 120, 0));
pDC->DrawText(str, &rect, nFormat);
}
/****************************************/
//写文字
char buffer[20];
memset(buffer, 0, 20);
GetItemText(nItem, nSubItem, buffer, 20);
pDC->TextOut(rect.right + 2, rect.top, buffer);
}