MFC改变static text颜色

MFC静态文本控制 一、设置文本内容 1、从工具栏里拖拽Static Text控件。 2、右键属性修改ID为 IDC_TEXT,否则无法添加变量。 3、右键选择 Static Text控件,添加变量。 设置为私有,并且令空间名为CStaric。 添加的变量在CCStaticTextDlg类中的DoDataExchange函数中。 4、双击按钮控件 自动生成如下代码。 添加如下代码: 5、效果 点击Button1, static变为aaa。 二、获取文本中的内容 . 阅读详情

1. 打开资源视图。

2. 双击打开STATIC所在的对话框。

3. 修改STATIC的ID属性,这里假设为IDC_TEXT1。

4.为对话框添加类,假设为CMyDialog.

5. 选择对话框,在属性面板上点击消息,并选择WM_CTLCOLOR。

6.在对话框对应类的CPP中会新增下面的代码:

HBRUSH DataSummaryDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
     BRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
     //添加自己的代码
     return hbr;
}

7. 在上面的代码中添加修改IDC_TEXT文本颜色的代码,如下:

HBRUSH DataSummaryDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
     BRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
     if (pWnd->GetDlgCtrlID() == IDC_NOTE)
     {
         pDC->SetTextColor(RGB(255, 0, 0));
     } return hbr;
}

同样的方法可应用于修改字体。

很多人都觉得自己的程序的界面不那么美观,往往VC默认产生的对话框比较单调,因此很多人往往找到很多其它的控件对对话框进行美化修饰,例如给静态控件设置字体,设置背景颜色等等, 其实这些完全可以由VC自己的WM_CTLCOLOR消息来完成!

WM_CTLCOLOR消息用来完成对EDIT、STATIC、BUTTON等控件设置背景和字体颜色,其用法如下:

1.首先在自己需要设置界面的对话框上点击右键-->建立类向导-->加入WM_CTLCOLOR消息-->自动生成OnCtlColor()函数,此函数可以对本对话框的控件的界面外观做修饰,用法如下:
将类向导产生的函数做如下修改:

HBRUSH CDialogColor::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
    HBRUSH hbr = CDialog::OnCtlColor(pDC,pWnd, nCtlColor);
    // TODO: Change any attributes of theDC here
    //设置显示字体
    CFont * cFont=new CFont;
    cFont->CreateFont(16,0,0,0,FW_SEMIBOLD,FALSE,FALSE,0, 
                                          ANSI_CHARSET,OUT_DEFAULT_PRECIS,
                                          CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,
                                          DEFAULT_PITCH&FF_SWISS,"Arial");
    //对特定的控件做修改
    switch()
    {
       case CTLCOLOR_STATIC: //对所有静态文本控件的设置
      {
          pDC->SetBkMode(TRANSPARENT); 
          //设置背景为透明
          pDC->SetTextColor(RGB(255,255,0)); //设置字体颜色
          pWnd->SetFont(cFont); //设置字体
          HBRUSH B = CreateSolidBrush(RGB(125,125,255)); 
          //创建画刷
          return (HBRUSH) B; //返回画刷句柄
      }
      case CTLCOLOR_EDIT: //对所有编辑框的设置
     {
          pDC->SetBkMode(TRANSPARENT); 
          pDC->SetTextColor(RGB(255,255,0)); 
          pWnd->SetFont(cFont); 
          HBRUSH B = CreateSolidBrush(RGB(125,125,255)); 
          return (HBRUSH) B; 
      }
      default:
      return CDialog::OnCtlColor(pDC,pWnd, nCtlColor);
    }
}

注:case的类别有以下几种:
CTLCOLOR_BTN 按钮控件
CTLCOLOR_DLG 对话框
CTLCOLOR_EDIT 编辑框
CTLCOLOR_LISTBOX 列表框
CTLCOLOR_MSGBOX 消息框
CTLCOLOR_SCROLLBAR 滚动条
CTLCOLOR_STATIC 静态文本

2.你可能觉得对所有的控件使用统一的界面设置觉得不自由,其实VC同样可以对特定的ID的控件进行设置,方法如下:

   switch (pWnd->GetDlgCtrlID()) 
            { 
            //针对ID为IDC_CTL1、IDC_CTL2和IDC_CTL3的控件进行同样的设置
            case IDC_CTL1:
            case IDC_CTL2:
            case IDC_CTL3: 
            {
            pDC->SetBkMode(TRANSPARENT);
            pDC->SetTextColor(RGB(255,255, 0));
            pWnd->SetFont(cFont);
            HBRUSH B = CreateSolidBrush(RGB(125,125,255));
            return (HBRUSH) B;
            }
            default:
            return CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
            }

 

MFC控件自绘-Static Text MFC使用Static Text显示文本,想改变字体和显示方式很麻烦,用ActiveX中的Label控件可以很好的解决Static Text存在的问题,但使用时需要装微软的那一套东西(以前写的程序 用了Label,必须安装微软办公软件才能运行),着实让人心烦。 能不能实现一个方便的文本显示控件呢?纠结了半天,一会百度,一会优快云,着实花了我一番功夫,最后在别人的基础上改进了一些东东,还是让我给 阅读详情

相关推荐

MFC之Static Text控件的字体,颜色,大小的修改

Static Text控件的字体,颜色,大小的修改 在对话框的头文件中添加两个变量 CBrush m_brush; CFont m_font; 初始化,在OnInitDialog函数里面添加下面代码: //字的大小和格式 m_font.CreatePointFont(100, "Times New Roman"); //画刷的颜色,GetSysColor(COLOR_3DFACE)...

wsq119的博客 3028

C++ MFC深入详解之----设置static静态文本的字体和颜色

一.设置文本字体: 1.首先,在对话框上添加一个Static控件,ID为IDC_STATIC,关联一个控制变量m_static(不是Value,是Control) 2.声明变量 在C*****Dlg.h文件中加入代码 private: CFont m_Font; 3.然后,在C*****Dlg.cpp文件中,对话框初始化中添加下列代码即可 BOOL C***...

lzzw的学习之路 8562

MFC修改静态文本框内容

总结:通过以上代码示例,我们学习了如何在MFC应用程序中通过C++代码修改静态文本框的内容。可以使用Visual Studio等开发工具来创建MFC应用程序,并在对话框设计器中拖拽静态文本框控件到对话框上。在对话框设计器中选中静态文本框控件,然后在属性窗口中找到ID属性,设置一个唯一的ID值,例如IDC_STATIC_TEXT。在对话框类的源文件(.cpp文件)中,将该变量与实际的静态文本框控件进行关联。完成上述操作后,编译并运行MFC应用程序,就会看到静态文本框中显示了修改后的文本内容。

WangWEel的博客 1489

MFC 设置Static Text控件的字体和颜色

第一种方式: (1)打开资源视图。 (2)双击打开STATIC所在的对话框 (3)修改STATIC的ID属性,这里假设为IDC_STATICMessage (4) 为对话框添加类,假设为CxxxDialog (5) 选择对话框,在属性面板上点击消息,并选择WM_CTLCOLOR (6) 在对话框对应类的CPP中新增下面的代码 HBRUSH CxxxDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { ...

my_angle2016的博客 3073

altium room 布局_ALtium 16相同重复模块PCB布局,复制布局走线

自己做了实际工程以后发现PCB器件名字后缀太长了,所以文章最后写了一下后缀的调整方法。第一种方法:1、建立子原理图如下,文件名CANM 2、之后新建一个顶层文件,文件名TOP,之后design—create sheet symbol form sheet or hdl。选择CANM,并放置到TOP中,如下 3、由于我们要多次调用CANM所以使用repeat命令修改如下: 4、之后根据自己的定义,连...

weixin_39609573的博客 5752

Win11用户文件夹中文名修改全攻略

本文详细介绍了Windows 11系统中修改中文用户文件夹名称的完整步骤。操作包含七个关键环节:前期数据备份、账户名称修改、管理员账户激活、用户文件夹重命名、注册表路径更新、收尾操作及注意事项。特别强调需要同步修改账户名、文件夹名和注册表关联路径,并建议操作前备份重要数据。文中还针对常见问题提供了解决方案,如软件报错时的符号链接创建方法。整个过程需谨慎操作,建议在管理员权限下逐步执行,修改完成后需验证系统及软件功能是否正常。

Qinti_mm的博客 3127

MFC改变static text颜色和内容

1. 打开资源视图。 2. 双击打开STATIC所在的对话框。 3. 修改STATIC的ID属性,这里假设为IDC_STATICMessage。 4.为对话框添加类,假设为CMyDialog. 5. 选择对话框,在属性面板上点击消息,并选择WM_CTLCOLOR。 6.在对话框对应类的CPP中会新增下面的代码: HBRUSH DataSummaryDlg::OnCtlColor(CDC

sunymen的专栏 2万+

Python+Selenium实战:5分钟搞定快手评论区数据采集(附完整代码)

本文详细介绍了如何使用Python和Selenium快速采集快手评论区数据,提供完整的代码实现和优化方案。通过动态加载处理和智能等待策略,5分钟内即可构建高效的评论采集工具,适用于用户行为分析和内容挖掘等场景。

weixin_30415113的博客 344

MFC改变static text颜色和内容及字体大小

1. 打开资源视图。 2. 双击打开STATIC所在的对话框。 3. 修改STATIC的ID属性,这里假设为IDC_STATICMessage。 4.为对话框添加类,假设为CMyDialog. 5. 选择对话框,在属性面板上点击消息,并选择WM_CTLCOLOR。 6.在对话框对应类的CPP中会新增下面的代码: HBRUSH DataSummaryDlg::On

u012999771的专栏 1万+

【ESP32开发】——开发环境搭建(VSCode+PlatformIO)

本章内容主要介绍ESP32的开发环境搭建(基于VSCode+PlatformIO)的流程与相应的注意事项,避免开发ESP32止于环境搭建!在项目的维护过程中,可以更好地管理和更新代码、调试问题,并且能够快速适应和采用新的功能、库或硬件平台。:VSCode 的代码提示和自动补全功能,以及 PlatformIO 的管理工具,都能帮助你编写规范、格式良好且易于阅读的代码。:Arduino 框架是一种简单、易用的嵌入式开发框架,适用于快速原型开发和小型项目。需要选择对应自己开发的开发板型号。

m0_61934621的博客 8422

CKEditor5富文本编辑器 - 视频引入、预览及自定义toolbar

文章目录定义遇到的问题视频部分引入媒体url失败原因解决方法:自定义视频provider视频预览及页面不显示视频问题解决方案:H5 \标签如何移除toolbar中的部分插件 一个小后端很少接触前端框架,只能在知识的海洋中漂泊。。。 定义 <script src="https://cdn.ckeditor.com/ckeditor5/16.0.0/classic/ckeditor.js"&gt...

huhui806的博客 8198

MFC中改变对话框中静态文本框static text颜色

在对话框中的×dlg.cpp文件中添加WM_CTLCOLOR消息命令 HBRUSH ×Dlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) {     HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);     // TODO:  在此更改 DC 的任何属性     if

bbsview的专栏 3270

YOLOv11模型改进:利用注意力机制实现小目标检测精度跃升

如果你在实操中遇到精度提升不明显或速度下降过多的问题,不妨尝试调整注意力模块的类型(如替换为CA)或插入层级,或针对性优化小目标的数据集增强策略。记住,小目标检测的核心是“特征强化与空间定位”,只要结合业务场景灵活调整注意力模块的组合,你也能让YOLOv11在小目标识别任务中脱颖而出。接下来,我们从模块选型到代码落地,一步步带你打造“小目标检测专精版”YOLOv11,真正帮你解决工业场景中(如安防、质检)的小目标识别痛点。在城市安防场景中,改进后的YOLOv11对远处行人、车辆(小目标)的识别准确率提升。

m0_71589036的博客 456

MFC开发IM-第十篇、MFC改变static text颜色

1. 打开资源视图。 2. 双击打开STATIC所在的对话框。 3. 修改STATIC的ID属性,这里假设为IDC_TEXT1。 4.为对话框添加类,假设为CMyDialog. 5. 选择对话框,在属性面板上点击消息,并选择WM_CTLCOLOR。 6.在对话框对应类的CPP中会新增下面的代码: HBRUSH DataSummaryDlg::OnCtlColor

goldDaNiu的博客 402

【异常】OpenClaw 项目 `fetch failed` 报错问题排查与解决方案Response interrupted: TypeError: fetch failed

针对无超时控制、异常兜底缺失导致的请求中断,封装标准化的安全请求工具,一次性解决超时控制、异常捕获、日志埋点三大问题,全项目替换原生。:将项目运行的 Node.js 版本升级至 18.x 及以上 LTS 版本,使用 Node.js 内置的稳定版。实现的网络请求环节,包括但不限于:第三方开放接口调用、内部服务接口通信、跨域资源请求、外部配置拉取等场景。:针对无法升级 Node.js 版本的存量环境,通过社区稳定兼容包替换原生。类型异常,直接造成业务请求响应中断。第二步:业务代码改造,替换原生。

奶爸的编程之路,也就一周冷个三天 368

Qwen2.5-VL多模态微调超参数深度解析(上):训练流程与优化策略的量化机制分析

上篇文章通过系统化的对比实验,回答了多模态微调中的三个基础问题:“选什么方法”(LoRA/Full/Freeze/OFT对比)、“用什么配置”(60+组超参数组合)、“达到什么效果”(ROUGE-L/BLEU-4指标)。这些结果为后续工作奠定了实验基线,但也留下了更深层的疑问:为何相同方法在不同数据集上表现迥异?为何某些超参数的微小调整会引发性能剧变?如何在未见过的任务上快速找到最优配置?本文是对前文实验数据的二次挖掘与机理解析。我们将关注点从"做了什么实验"转移到"实验揭示了什么规律",实验视角从"结果对

羊城迷鹿的博客 1007

mfc中设置static text的颜色

原文地址:text的颜色">mfc中设置static text的颜色作者:石头 在实际的应用中,可以用WM_CTLCOLOR 消息改变mfc中控件的颜色,比如现在就来改变一个static text孔家的 背景色和字体 1 在对话框的类中添加两个变量: CBrush m_brush; CFont m_font; 在OnInitDialog()函数中添加: // TODO: 在此添加额外的初始化代码

随笔 620

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

MFC窗体上的STATIC控件鼠标移上去改变文本和背景颜色,鼠标离开恢复正常

MFC窗体上的STATIC控件鼠标移上去改变文本和背景颜色,鼠标离开恢复正常。

zhusg的专栏 4104

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Mfc子窗口修改Static Text控件的字体、大小、颜色

开门见山:创建子窗口的方法请参考我上一篇博客:http://blog.youkuaiyun.com/u014411348/article/details/53911682 主窗口修改Static Text控件网上已有很多大神给出了方法,小的就不再重复。 一、单纯改变字体大小、字体 1.请自行在窗口中添加一个Static Text控件并命名。在子窗口的类文件***.h文件下添加(如图1)C

BackCatK Chen的博客 1万+

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

mfc中设置static text的颜色

在实际的应用中,可以用WM_CTLCOLOR 消息改变mfc中控件的颜色,比如现在就来改变一个static text孔家的背景色和字体1 在对话框的类中添加两个变量:CBrush m_brush; CFont m_font;在OnInitDialog()函数中添加:// TODO: 在此添加额外的初始化代码 m_font.CreatePointFont(150,"华文行楷");

1652

MFC中设置static text的字体和颜色[转]

原文地址:http://blog.sina.com.cn/s/blog_5eb73de10100dt5l.html     在实际的应用中,可以用WM_CTLCOLOR 消息改变mfc中控件的颜色,比如现在就来改变一个static text的背景色和字体: 1. 在对话框的类中添加两个变量: CBrush m_brush; CFont m_font; 在OnInitDialog(

Pc620的专栏 7243

MFC中设置static text控件的背景色、字体、字号和颜色

在实际的应用中,可以用WM_CTLCOLOR 消息改变mfc中控件的颜色,比如现在就来改变一个static text控件的 字体、字体大小、字体颜色和背景色。 例如对话框的类为CTestDlg. 1. 在对话框的类中添加两个变量. 方法:在classview选项卡中,选择CTestDlg,右键,add member variable. CBrush m_brush; CFont m_f

gll028的专栏 8009
上一篇: 修改Static控件的字体颜色
下一篇: sdk编程改变static控件字体和颜色
sysprogram
博客等级 码龄17年 298粉丝 442原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值