当前位置: 首页 > news >正文

【44】MFC入门到精通——MFC 通过Button按钮添加控件变量实现:按下 按钮变色 (比如开关 打开关闭状态) MFC更改button控颜色

文章目录

  • 1 按下button 改变状态颜色
    • 1.1 为Button按钮添加控件变量
    • 2.2 在需要的地方更改控件的颜色
    • 1.3 使用实例

1 按下button 改变状态颜色

button按下 根据按钮状态变色,比如开关打开 绿色,再按一下开关关闭 灰色

1.1 为Button按钮添加控件变量

为Button按钮添加控件变量
类别 控件 名称m_button_ComOpenStatus 变量类型 CMFCButton

在这里插入图片描述
添加成功后
在这里插入图片描述

在这里插入图片描述

2.2 在需要的地方更改控件的颜色

例如

void CSerialPortDlg::OnBnClickedOpencomButton()
{//这两行代码解决SetFaceColor显示不出来颜色问题m_button_ComOpenStatus.m_bTransparent = FALSE;m_button_ComOpenStatus.m_bDontUseWinXPTheme = TRUE;//消除黑圈m_button_ComOpenStatus.m_bDrawFocus = FALSE;//消除边框m_button_ComOpenStatus.m_nFlatStyle = CMFCButton::BUTTONSTYLE_NOBORDERS;//设置颜色m_button_ComOpenStatus.SetFaceColor(RGB(255, 0, 0), true);}

1.3 使用实例

串口状态显示:

串口关闭状态下,显示灰色,打开串口
串口打开状态下,显示绿色,关闭串口

//串口状态显示
void CSerialPortDlg::OnBnClickedOpencomButton()
{// TODO: 在此添加控件通知处理程序代码//设置按钮颜色//这两行代码解决SetFaceColor显示不出来颜色问题m_button_ComOpenStatus.m_bTransparent = FALSE;m_button_ComOpenStatus.m_bDontUseWinXPTheme = TRUE;//消除黑圈//m_button_ComOpenStatus.m_bDrawFocus = FALSE;//消除边框m_button_ComOpenStatus.m_nFlatStyle = CMFCButton::BUTTONSTYLE_NOBORDERS;//设置颜色//m_button_ComOpenStatus.SetFaceColor(RGB(0, 255, 0), true);m_COMStatu = !m_COMStatu;if (!m_COMStatu) {//串口关闭状态下,显示灰色,打开串口m_button_ComOpenStatus.SetFaceColor(RGB(225, 225, 225), true);//GetDlgItem(IDC_PORTisOPEN_STATIC)->SetWindowText(_T(" 已关闭"));m_button_ComOpenStatus.SetWindowTextW(_T("打开串口"));}else {//串口打开状态下,显示绿色,关闭串口m_button_ComOpenStatus.SetFaceColor(RGB(0, 255, 0), true);//GetDlgItem(IDC_PORTisOPEN_STATIC)->SetWindowText(_T(" 已打开"));m_button_ComOpenStatus.SetWindowTextW(_T("关闭串口"));}OnCbnSelchangeComboCom();DisplayStatus();return;
}

初始状态

在这里插入图片描述

串口打开状态下,显示绿色,关闭串口

在这里插入图片描述

串口关闭状态下,显示灰色,打开串口

在这里插入图片描述

http://www.lryc.cn/news/591032.html

相关文章:

  • 数据结构-2(链表)
  • 基于STM32闭环步进电机控制系统设计说明
  • Leaflet地图交互:实现图形与点的同时高亮效果
  • PyTorch生成式人工智能(18)——循环神经网络详解与实现
  • 【Linux基础知识系列】第五十一篇 - Linux文件命名规范与格式
  • Mac 安装及使用sdkman指南
  • Java 大视界 -- Java 大数据在智能交通智能公交站台乘客流量预测与服务优化中的应用(349)
  • Flask+LayUI开发手记(十一):选项集合的数据库扩展类
  • Java 集合框架详解:Collection 接口全解析,从基础到实战
  • 【LeetCode 热题 100】108. 将有序数组转换为二叉搜索树
  • 【Redis 】看门狗:分布式锁的自动续期
  • 如何用Kaggle免费GPU
  • [yotroy.cool] Git 历史迁移笔记:将 Git 项目嵌入另一个仓库子目录中(保留提交记录)
  • 语雀编辑器内双击回车插入当前时间js脚本
  • 【WRFDA第六期】WRFDA 输出文件详述
  • R语言基础| 基本图形绘制(条形图、堆积图、分组图、填充条形图、均值条形图)
  • Spring AI之Prompt开发
  • Web攻防-PHP反序列化Phar文件类CLI框架类PHPGGC生成器TPYiiLaravel
  • Cursor开发步骤
  • 【C++指南】C++ list容器完全解读(四):反向迭代器的巧妙实现
  • 113:路径总和 II
  • Java学习--JVM(2)
  • 基于FPGA的IIC控制EEPROM读写(2)
  • AI算法之图像识别与分类
  • 深入理解Java中的Collections.max()方法
  • 贪心算法(排序)
  • GLM(General Language Model,通用语言模型)
  • 2020717零碎写写
  • 学习OpenCV---显示图片
  • Java集合框架中List常见问题