首先要添加OnCtlColor函数

1.该函数在VC++中的添加方法为:快捷键Ctrl+W或右击空白处打开ClassWizard对话框(也可以菜单->view->ClassWizard),在Message Maps里的Messages框中找到OnCtlColor,点击Add Function添加

在VS 类视图中右键点击你的DLG类点击属性,在上面找到消息图标,滑动,找到OnCtlColor函数添加

2.第二种方法是自己手动添加

  • 头文件中添加函数声明
  • cpp文件中添加消息映射和响应函数
// 1. 在对话框的头文件中加入
afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);// 2. 在对话框的cpp文件中加入
BEGIN_MESSAGE_MAP(CtransparentDlg, CDialog)ON_WM_CTLCOLOR()//}}AFX_MSG_MAP
END_MESSAGE_MAP()//该例子是设置静态文本透明
HBRUSH CtransparentDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{HBRUSH   hBrush   =   CDialog::OnCtlColor(pDC,   pWnd,   nCtlColor);   if(nCtlColor == CTLCOLOR_STATIC)  //静态文本{pDC->SetBkMode(TRANSPARENT);    //设置控件透明return   (HBRUSH)::GetStockObject(NULL_BRUSH);    //记住一定要有这句}return hBrush;
}
  • OnCtlColor可设置的控件类型:
  • CTLCOLOR_BTN   Button control
  • CTLCOLOR_DLG   Dialog box
  • CTLCOLOR_EDIT   Edit control
  • CTLCOLOR_LISTBOX   List-box control
  • CTLCOLOR_MSGBOX   Message box
  • CTLCOLOR_SCROLLBAR   Scroll-bar control
  • CTLCOLOR_STATIC   Static control

C++ MFC深入详解之----设置控件背景透明相关推荐

  1. MFC 加入背景图片并让控件背景透明

    /*加入背景图片*/ BOOL CTOOLDlg::OnEraseBkgnd(CDC* pDC) {  // TODO: 在此加入消息处理程序代码和/或调用默认值  CDialog::OnEraseB ...

  2. 设置控件背景背景颜色为透明

    有时候,我们需要将控件的背景颜色设定为透明,比如说label(标签)控件.那么,如何将控件的背景颜色设定为透明?是不是只要将控件的BackColor属性设为Transparent(透明)就可以了呢?答 ...

  3. 关于Static控件背景透明时文本覆盖重影的问题

    2019独角兽企业重金招聘Python工程师标准>>> 关于Static控件背景透明时文本覆盖重影的问题 通过映射OnCtlColor消息,而后在该函数中使用pDC->SetB ...

  4. MFC 设置static(标签)控件背景透明

    1.设置控件的属性Transparent 为True 2.重载OnCtlColor函数 在该函数体中加入以下代码: if(pWnd->GetDlgCtrlID() == IDC_XXXX) // ...

  5. VC设置CEdit控件背景透明、文字背景也透明

    开发环境:VC6, a dialog based MFC application. 主界面: 为对话框添加WM_CTLCOLOR消息响应函数: HBRUSH CDDlg::OnCtlColor(CDC ...

  6. QT设置控件背景为透明

    第一步选择更改样式表 第二步样式表中添加如下的内容 background: transparent;

  7. Android设置控件背景颜色

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

  8. VC 控件背景透明、文字背景透明

    Visual C++  开发实战宝典 功能:位图上显示文字,背景透明. void CP400Dlg::OnPaint()  { .... CBitmap bmp; bmp.LoadBitmap(IDB ...

  9. Linux服务器,服务管理--systemctl命令详解,设置开机自启动

    Linux服务器,服务管理--systemctl命令详解,设置开机自启动 syetemclt就是service和chkconfig这两个命令的整合,在CentOS 7就开始被使用了. 摘要: syst ...

最新文章

  1. c++异常的层次结构(继承在异常中的应用)
  2. php mysql 内存溢出_关于MySQL的整型数据的内存溢出问题的应对方法_MySQL
  3. dll已加载但找不到入口点DLLRegisterServer
  4. SAP CRM Survey调查问卷的模型设计原理解析
  5. 浦发网银安装显示连接服务器失败,上海浦东发展银行网上银行登录失败怎么办...
  6. Mybatis批量insert报错的解决办法【the right syntax to use near '' at line...】
  7. text-align 属性,输入框数字向右靠
  8. ios 团购信息客户端demo(二)
  9. R:应用时间序列分析--基于R(1)第一章 时间序列分析简介
  10. 计算机的组装与维修的知识点总结,计算机组装与维修教学总结
  11. HTML 超文本标记语言
  12. 数据库原理与应用教程(何玉洁 第四版)第七章课后题
  13. 衣带渐宽终不悔为伊消得人憔悴,土蜂蜜科技终成正果
  14. 作为程序员如何赚到第一桶金?
  15. 远程实时调试手机上的web页面
  16. Android数据编码之Base64
  17. 版本号(SNAPSHOT GA....)都是啥意思
  18. 【问题解决】“Web“ facet resources
  19. 众多促销标签免抠元素素材一键即可获取
  20. 前端页面查看PDF文档内容总结

热门文章

  1. 【Mail小技巧】如何使用Python优雅的发送带有pdf附件的电子邮件(含源代码,小白也会用!)
  2. bowtie 加mn标签_Bowtie2使用方法与参数详细介绍 - Public Library of Bioinformatics
  3. string::find和string::npos
  4. 电商系统_day02
  5. (Servlet+Jsp)Web编程笔记(一套就够了)
  6. 笔记:百度地图API 标记回显
  7. Linux中JDK的下载与配置
  8. 他,生物系毕业,刚入职连 Java 都没听过,却在马云的要求下,三周写出淘宝网雏形......
  9. 循环课后题型整理(二十道)
  10. 招聘报表分析怎么做?大公司都在用的招聘分析模型免费用