为什么修改group box和单选按钮的字体颜色不成功?
有背景图片。
if (nCtlColor == CTLCOLOR_STATIC&&pWnd->GetDlgCtrlID() == IDC_GROUP) //文本编辑框颜色
{
pDC->SetTextColor(RGB(255, 255, 255));
pDC->SetBkMode(TRANSPARENT);
hbr = (HBRUSH)::GetStockObject(NULL_BRUSH);
}
//单选按钮字体修改颜色问题???????????
if (pWnd->GetDlgCtrlID() == IDC_SINGLEMODE || pWnd->GetDlgCtrlID() == IDC_MANYMODE) //文本编辑框颜色
{
pDC->SetTextColor(RGB(255, 255, 255));
pDC->SetBkMode(TRANSPARENT);
CFont font;
font.CreatePointFont(120, L"微软雅黑");
CFont *pOldFont=pDC->SelectObject(&font);
CRect rc;
pWnd->GetWindowRect(&rc);
ScreenToClient(&rc);
CDC* dc = GetDC();
pDC->BitBlt(0, 0, rc.Width(), rc.Height(), dc, rc.left, rc.top, SRCCOPY); //把父窗口背景图片先画到按钮上
ReleaseDC(dc);
hbr = (HBRUSH) ::GetStockObject(NULL_BRUSH);
}
...全文
相关推荐
改变MFC对话框背景色、控件内的字体
改变MFC对话框背景色、控件内的字体颜色和背景色 设置 Dialog, Group Box, Static Text, Check Box, Edit Ctrl(disabled), Combo Box(disabled), Radio Button等背景色 编写WM_CTLCOLOR消息的映射函数OnCtlColor(CDC *pDC, CWnd pWnd, UINT nCtlColor)
MFC界面美化实战:SkinMagic集成、原理与高级定制指南
在Windows桌面开发领域,界面美化是提升软件用户体验和市场竞争力的关键技术。其核心原理在于通过窗口子类化、钩子技术和资源替换,接管系统原生绘制流程,实现控件外观的全面定制。这项技术为遗留系统现代化改造提供了高性价比方案,尤其适用于MFC这类稳定但界面陈旧的框架。通过引入轻量级皮肤引擎,开发者能在不改动核心业务逻辑的前提下,快速实现界面的视觉升级,支持动态换肤、不规则窗口等高级特性。本文以SkinMagic为例,深入解析其集成步骤、工作原理及在MFC项目中的实战应用,涵盖控件美化、源码机制与性能优化等关键
用Group Box控件对控件分组
用Group Box控件对控件分组 用Group Box控件对控件分组 用Group Box控件对控件分组 用Group Box控件对控件分组
MFC GroupBox自绘控件,可以方便改变边框的颜色
由于项目需要,需要自绘一个GroupBox,可以方便改变边框颜色,可以设置显示的字体
bsc-group-3:bsc-group-3
bsc-group-3 bsc-group-3


界面
