visual-studio - CListCtrl 设置字体样式为粗体

标签 visual-studio visual-c++ mfc clistctrl

我想将 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/

相关文章:

在 Visual Studio 2019 中生成实体数据模型时 MySQL 崩溃

sql-server - Visual Studio - 将 dacpac 发布为 NuGet 包,以便其他数据库项目可以引用该数据库

visual-c++ - 区分单击和双击 C++

visual-studio-2010 - 无法让OpenAL播放声音

visual-c++ - 错误: a class qualified name is not allowed

visual-c++ - SetCueBanner 不适用于多行编辑控件

c++ - 将 Paypal 与 C++ MFC 应用程序集成

visual-studio - 如何在 Visual Studio 中显示调用堆栈、立即数和其他隐藏窗口

c++ - 列表控件中的 MFC 对话框组合框

c++ - std::array - 'buffer of size n will be overrun' ,仅在 VS 中