我想将 CListCtrl 控件的任何单元格的字体更改为粗体。任何人都可以告诉如何为 CList Ctrl 做到这一点。
我已经为 CTreeCtrl 做了这个,就像这样
pTC->SetItemState(hItemCur, TVIS_BOLD, TVIS_BOLD);
CListCtrl 有类似的东西吗?
提前致谢。
最佳答案
如果您可以使用 CMFCListCtrl (VS2008 SP1 及更高版本),您可以从中派生一个类并覆盖 OnGetCellFont .从那里你返回你的粗体(你可以创建自己的或返回 AFX_GLOBAL_DATA::fontBold):
HFONT CMyListCtrl::OnGetCellFont( int nRow, int nColumn, DWORD dwData /*= 0*/ )
{
if (UseBoldFont(/* params */))
{
return GetGlobalData()->fontBold;
}
return NULL;
}
如果您必须坚持使用普通的旧 CListCtrl,最简单的方法是使用自定义绘图,您可以根据自己的需要调整绘图过程。不要将它与 Owner Draw 混淆,您必须自己完成所有绘图。
Here's an article解释在 CListCtrl 中使用自定义绘图的基础知识。
关于visual-studio - CListCtrl 设置字体样式为粗体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31245713/