请问我想修改listctrl控件的标题背景色,但是把文字给盖住了

pcgpcgpcg 2009-02-25 02:15:56
void CMyHeaderCtrl::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
{

// TODO: 添加您的代码以绘制指定项
CDC* pDC;
pDC = CDC::FromHandle(lpDrawItemStruct->hDC); //这是DC

//获得Item上的文字
HDITEM hdi;
TCHAR lpBuffer[256];
hdi.mask = HDI_TEXT;
hdi.pszText = lpBuffer;
hdi.cchTextMax = 256;
//GetItem(lpDrawItemStruct->itemID,&hdi);

pDC->FillSolidRect(&lpDrawItemStruct->rcItem,RGB(87,193,255));
//pDC->SetBkMode(TRANSPARENT);
//SetBkColor(hdi,RGB(0,255,0));
COLORREF crOldColor = ::SetTextColor(lpDrawItemStruct->hDC, RGB(255,255,0));
DrawText(lpDrawItemStruct->hDC, lpBuffer, strlen(lpBuffer), &lpDrawItemStruct->rcItem, DT_SINGLELINE|DT_VCENTER|DT_CENTER);
SetTextColor(lpDrawItemStruct->hDC, crOldColor);
}




标题倒是变成了我需要的颜色,但是为什么标题上的字都被盖住了,如何让字显示出来?
...全文
138 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧