更改静态文本 C++ 的颜色
Posted
技术标签:
【中文标题】更改静态文本 C++ 的颜色【英文标题】:Change the color of static text C++ 【发布时间】:2019-04-06 10:20:07 【问题描述】:我通过使用表单设计器编辑 .rc 文件为 MFC 类创建了对话框表单,如下所示,
我想更改上面 Namodaya Balaarachchi 文本字段的颜色。 但是下面的属性窗口中没有任何属性。
谁能帮我改变上面静态文本的颜色?
【问题讨论】:
这可能有用:Static Control Background Color with C++ 我试过了。但它不起作用,因为我无法调用 CALLBACK 函数。你能帮我调用CALLBACK函数吗? 【参考方案1】:我正在使用 Visual Studio 2017 并创建一个基于对话框的 MFC 项目。之后选择“资源视图”并双击打开对话框。右键选择Class Wizard,在Message处双击WM_CTLCOLOR,选择OnCtlColor,然后Edit Code,添加下面的“switch”部分。
HBRUSH CMFCApplication1Dlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
switch (nCtlColor)
case CTLCOLOR_STATIC:
pDC->SetTextColor(RGB(255, 0, 0));
return (HBRUSH)GetStockObject(NULL_BRUSH);
// TODO: Return a different brush if the default is not desired
return hbr;
F5运行,文字变为红色:
【讨论】:
我认为“WM_CTLCOLOR”这样的消息应该存在于2015/2012或更早的visual studio中。以上是关于更改静态文本 C++ 的颜色的主要内容,如果未能解决你的问题,请参考以下文章
Qt,如何更改 QComboBox 的一项的文本颜色? (C++)