关于 CListView 中字体设置的问题 我想做一个外观类似于 CListView 的视(样式是:LVS_REPORT)要根据各个单元格中的内容的不同来设置不同的文字格式(如:字体、颜色等)请问:我应该如何做?或应该选择什么样的基类? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你可以:ON_NOTIFY_REFLECT(NM_CUSTOMDRAW, OnCustomDraw) void CMyListCtrl::OnCustomDraw(NMHDR* pNMHDR, LRESULT* pResult) { LPNMLVCUSTOMDRAW lplvcd = (LPNMLVCUSTOMDRAW)pNMHDR; *pResult = 0; switch(lplvcd->nmcd.dwDrawStage) { case CDDS_PREPAINT : *pResult = CDRF_NOTIFYITEMDRAW; break; case CDDS_ITEMPREPAINT: *pResult = CDRF_NOTIFYSUBITEMDRAW; break; case CDDS_SUBITEM | CDDS_ITEMPREPAINT: { CString sText = GetItemText(lplvcd->nmcd.dwItemSpec,0); CDC *pDC = CDC::FromHandle(lplvcd->nmcd.hdc); CRect bounds; GetItemRect(lplvcd->nmcd.dwItemSpec, &bounds, LVIR_BOUNDS ); pDC->FillSolidRect(&bounds,RGB(255,255,255)); *pResult = CDRF_SKIPDEFAULT; } break; } } 上面只是示例代码,具体可以到MSDN中去查。 还有别忘了设计List的OwnerDraw属性。否则收不到NM_CUSTOMDRAW消息。 万分感谢,我一定会去 MSDN 中好好学! Windows的文本文件,Unicode为什么还要分为Unicode和UTF-8两种编码 我显示一个控件,要求是这个控件的显示不影响别的空间的焦点。焦点是哪个的就是哪个的。 操作vector时和操作数组到底有何区别? 关于CStringArray的用法 如何在对话框四周画图? 帮我设计一个考试要用的算法!(100) 请问APIENTRY是十么? 求征一伪随机序列算法 CJLibrary 界面库高手可千万帮助我 如何取得鼠标特征码 DSNetSend这个filter怎么加载啊? FindWindow的第一个参数好像可以不要?
ON_NOTIFY_REFLECT(NM_CUSTOMDRAW, OnCustomDraw)
void CMyListCtrl::OnCustomDraw(NMHDR* pNMHDR, LRESULT* pResult)
{
LPNMLVCUSTOMDRAW lplvcd = (LPNMLVCUSTOMDRAW)pNMHDR;
*pResult = 0;
switch(lplvcd->nmcd.dwDrawStage)
{
case CDDS_PREPAINT :
*pResult = CDRF_NOTIFYITEMDRAW;
break;
case CDDS_ITEMPREPAINT:
*pResult = CDRF_NOTIFYSUBITEMDRAW;
break;
case CDDS_SUBITEM | CDDS_ITEMPREPAINT:
{
CString sText = GetItemText(lplvcd->nmcd.dwItemSpec,0);
CDC *pDC = CDC::FromHandle(lplvcd->nmcd.hdc);
CRect bounds;
GetItemRect(lplvcd->nmcd.dwItemSpec, &bounds, LVIR_BOUNDS );
pDC->FillSolidRect(&bounds,RGB(255,255,255));
*pResult = CDRF_SKIPDEFAULT;
}
break;
}
}
上面只是示例代码,具体可以到MSDN中去查。
还有别忘了设计List的OwnerDraw属性。否则收不到NM_CUSTOMDRAW消息。