这是别人的 建议:
//*****************************************
{
首先,你要区分文本框和静态文本框,这是两种不同的控件,透明方法完全不同!静态文本框的默认背景是灰色,也就是对话框的“底色”。只有文本框(编辑框)的默认背景为白色。如果是静态文本框,那么控件属性里设置选中TRANSPARENT,你上面的代码就可以了。如果是编辑框,那么需要改变刷子hbr 为空画刷。但编辑框,只在OnCtrlColor里面做,效果是很差的,你需要处理OnEraseBackGround,最好能重载编辑框类,处理一下文字刷新,否则总是有显示BUG。
追问

这是静态文本框吧。

追答
没错,静态文本框,设置属性透明就可以了,一般不用OnCtrlColor设置空的背景画刷。

追问
那我用上面的方法,显示出来还是白色的,挡住了后面的背景图。

追答

首先,你要确定背景是在OnEreaseBackground里面做的,而不是OnPaint。OnPaint里面的绘图和控件相互遮挡很正常,这是刷新逻辑的冲突。

其次,OnCtrlColor里面,返回空画刷试试:

1
2
        pDC->SetBkMode(TRANSPARENT);//设置背景模式为透明
        return (HBRUSH)GetStockObject(NULL_BRUSH);//返回一个空画刷

追问

确实是这么写的,但是效果是静态文本框透明了,直接透成了电脑桌面的颜色,不是对话框的背景色。。。。。我要它和背景融为一体

}

//*************************************************************

经过我测试

 pDC->SetBkMode(TRANSPARENT);//设置背景模式为透明
 return (HBRUSH)GetStockObject(NULL_BRUSH);//返回一个空画刷
这两行可用:
以下贴出我代码里面的片段
{
//对指定的static text设置背景颜色 字体等 主要是头部栏
    switch (pWnd->GetDlgCtrlID())
    {
        //针对ID为IDC_CTL1、IDC_CTL2和IDC_CTL3的控件进行同样的设置
    case IDC_STATIC12:
        //case IDC_CTL2:
        //case IDC_CTL3:
    {
        pDC->SetBkMode(TRANSPARENT);
        pDC->SetTextColor(RGB(255, 255, 255));
        pWnd->SetFont(cFont);
        HBRUSH B = CreateSolidBrush(RGB(125, 125, 255));
        //return (HBRUSH)B;
        return (HBRUSH)GetStockObject(NULL_BRUSH);//返回一个空画刷
    }
    default:
        return CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
    }
}
//***************************
效果如下

MFC开发IM-第十二篇、MFC改变static text背景色为透明相关推荐

  1. Python开发【第十二篇】:DOM

    文档对象模型(Document Object Model,DOM)是一种用于HTML和XML文档的编程接口.它给文档提供了一种结构化的表示方法,可以改变文档的内容和呈现方式.我们最为关心的是,DOM把 ...

  2. Android UI开发第三十二篇——Creating a Navigation Drawer

    Navigation Drawer是从屏幕的左侧滑出,显示应用导航的视图.官方是这样定义的: The navigation drawer is a panel that displays the ap ...

  3. python制作网页样式与布局_Python开发【第十二篇】:CSS装饰页面

    CSS称为层叠样式表,是Cascading Style Sheets的缩写.CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化. CSS引入方式: 行内式:对标签元素添加 ...

  4. 《C++游戏开发》笔记十二 战争迷雾:初步实现

    本系列文章由七十一雾央编写,转载请注明出处. http://blog.csdn.net/u011371356/article/details/9475979 作者:七十一雾央 新浪微博:http:// ...

  5. SAP UI5 应用开发教程之六十二 - 基于 OData V4 的 SAP UI5 表格控件使用方法介绍试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  6. SAP UI5 应用开发教程之四十二 - SAP UI5 自带的 Diagnostics 诊断工具使用方法介绍

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  7. SAP UI5 应用开发教程之三十二 - 如何创建一个自定义 SAP UI5 控件试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  8. SAP UI5 应用开发教程之八十二 - 采用 OPA5 开发支持页面跳转的 SAP UI5 集成测试用例试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  9. MySQL数据库,从入门到精通:第十二篇——MySQL数据类型详解

    MySQL数据库,从入门到精通:第十二篇--MySQL数据类型详解 第 12 章_MySQL数据类型精讲 1. MySQL中的数据类型 2. 整数类型 2. 1 类型介绍 2. 2 可选属性 2. 2 ...

最新文章

  1. shell脚本中常见的一些特殊符号和作用详解
  2. vs code 默认是单击在原tab上打开,改为单击后其它文件在新tab打开
  3. 【牛客 - 2B】树(思维,dp,有坑)
  4. python(c++)刷题+剑指offer
  5. 【Java】辨析JUnit4中的@AfterClass、@BeforeClass、@after、@before
  6. 计算并联电阻的阻值(信息学奥赛一本通-T1015)
  7. 2019-0404视觉SLAM的学习第三讲01
  8. Eclipse用法和技巧十三:自动生成的TODO注释1
  9. Insurance 项目——Mybetis-generator生成
  10. 美图秀秀计算机教程,美图秀秀批处理软件详细图文版使用教程,一起学习吧
  11. 后台业务管理系统高保真Axure原型模板
  12. 图片上传到FTP服务器之后,从ftp服务器下载图片到本地会失真
  13. 为什么Service层要定义接口?
  14. androrid按键事件
  15. 微服务之API网关:Kong:概要与安装
  16. python红楼梦绘制词云形状图_python数据挖掘实战笔记——文本挖掘(5):词云美化之绘制《红楼梦》词云图...
  17. 音乐制作软件Ableton Live 10 Suite Mac激活教程
  18. win7计算机字体大小怎么设置,新手使用win7系统中设置桌面的字体大小的方法
  19. 边际电价计算matlab,PJM节点边际电价计算方法和其应用.PDF
  20. 51单片机播放音乐(一):蜂鸣器

热门文章

  1. 03-Bootstrap学习
  2. tortoiseGit 解决冲突
  3. C# 设置Word文档背景(纯色/渐变/图片背景)
  4. Java:Swing篇,实现JList、JTextArea的自动滚动,实时刷新功能
  5. DIV+CSS相对IE6、IE7和IE8的兼容问题
  6. 英语阅读测试,很神奇吧~
  7. Java Web解决跨域请求,java初级面试笔试题
  8. 产品经理如何让程序员放下手中的刀?
  9. java日期大小比较
  10. Power Designer逆向操作(从mysql5.0生成数据库的物理模型)