MFC 如何去去掉 CStatic的背景色 使CStatic背景透明
动态添加的CStatic的背景色跟我们自绘的窗体颜色不同时就会很难看
如何去掉CStatic控件背景色使之透明
先看原图

在窗体中重载这个消息

源码点这下载
示例代码如下
HBRUSH CSulutionFrm::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CPopUpFr
墨衍会员
·
AI 创作全网分发
墨衍智能分发
本文由作者通过墨衍一键同步至各平台
1分发平台
1.6k累计阅读
1.7k平均单平台
已同步平台
CSDN
微信公众号
微博
知乎
掘金
百家号
博客园
抖音
小红书
你的文章也可以这样分发
墨衍会员 ¥399起/年,写一次发全网
我也要 →
码龄6年
动态添加的CStatic的背景色跟我们自绘的窗体颜色不同时就会很难看
如何去掉CStatic控件背景色使之透明
先看原图

在窗体中重载这个消息

源码点这下载
示例代码如下
HBRUSH CSulutionFrm::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CPopUpFr
当前文章被以下社区和专栏收录:
MFC实现透明背景(附完整源码)
MFC实现透明背景(附完整源码)
CStatic静态控件透明-完美解决
为公司开发的静态控件,解决了所有的透明显示问题 1.动态刷新,文字重叠问题 2.父窗口放大之后,背景不对问题 3.频繁刷新闪动问题。 csdn有个帖子几十页也没解决,足见开发的难度之高。
MFC自定义静态文本框颜色技术详解
MFC中的静态文本框是一个控件,用来在界面上显示静态的文本信息,不可编辑。开发者通过使用静态文本框可以向用户提供提示信息或标签标识,增强用户界面的友好性与可读性。CStatic是MFC(Microsoft Foundation Classes)库中用于创建静态文本框控件的类。它是一个封装了Windows通用控件的C++类。CStatic类用于显示静态文本、位图、图标和其他资源,也提供了一些方法来改变控件的外观和行为。
CStatic子类化解决背景透明,文本重叠,刷新闪烁问题
由于是很少使用VS2008的MFC,遇到了很多麻烦,其实都是很初级的;但是我还是想做点记录,以示对自己工作的鼓励,同时也是留个纪念,因为随着微软政策的变化,以后MFC的程序将不会是趋势了,而我也有意从事Android平台的开发,所以不太可能做MFC程序了。
MFC CStatic控件自绘,背景透明。
#ifndef TrackControl_h__ #define TrackControl_h__ template class CTrackControl : public BaseClass { public: CTrackControl() { m_bTracking = m_bHover = false; }
MFC picture 图像清空
MFC picture control图像清空 清除一个picture control上的图片 CWnd * 类型需要转化为CStatic*类型 CStatic* pStatic = (CStatic*)GetDlgItem(IDC_STATIC1); CRect lRect; pStatic->GetClientRect(&lRect);
4. MFC控件之静态文本CStatic
MFC控件之静态文本CStatic ON_WM_CTLCOLOR() 在 OnInitDialog()中创建静态文本 m_label.Create(L"静态文本控件", WS_CHILD | WS_VISIBLE | SS_CENTER, CRect(100, 100, 200, 200), this, 10000); HBRUSH CMy027Dlg::OnCtlColor(CDC* ...
MFC 可以设置背景色、字体、字体颜色、透明背景的 Static 静态文本控件
MFC库里没有符合这个条件的控件,于是我自己写了一个,初步测试有效。注:可以设置透明背景,但还不能做到透明度设置(如50%透明度) 如果设置了背景色,就不保留透明背景 默认背景色是透明的[cpp] view plaincopy// 设置背景色(若clr为CLR_NONE,则背景透明) void SetBackgroundColor(COLORREF clr){m_cl...
VS2010 MFC关于修改静态文本框的颜色大小背景
假设有一个静态文本框控件,其ID为:IDC_STATIC_XSDJ,且关联一个control类的CStatic类型的变量m_static_xsdj。 设置字体时自然要用到CFont类,下面介绍两种方法,两种方法都要先在头文件中添加一个变量CFont newFont,切记要声明称类的成员变量,不能是局部变量 方法一: 在OnInitDialog()函数中添加代码: 1 new
Windows GUI编程:深入解析MFC/Win32窗口背景色修改原理与实战
在Windows桌面应用开发中,图形设备接口(GDI)是GUI绘制的核心技术基础。其核心原理基于消息驱动机制,通过处理系统发送的绘图消息来控制窗口的视觉呈现。掌握GDI绘图机制对于实现自定义UI效果具有重要技术价值,尤其在维护遗留MFC项目或开发高性能桌面应用时至关重要。在MFC框架中,通过重写OnEraseBkgnd消息处理函数,结合设备上下文(DC)和画刷(Brush)的操作,可以高效实现窗口背景色的定制。本文以**WM_ERASEBKGND消息**和**CDC类**为核心切入点,系统讲解从Win32
CStatic 双缓存 透明
CStatic 双缓存 透明 之前用了这位老兄的一些代码,地址如下: https://blog.csdn.net/u010442009/article/details/50963781 修改了一些地方,使用起来更加的方便。 直接上代码 ColorStaticEx.h #pragma once #include <stdint.h> // CColorStaticEx class C...
MFC|自绘CStaic刷新不及时问题
我们在绘制这些静态文本控件时,多数情况下不采取双缓存机制的,我们需要在CStatic::SetWindowTextW函数中做一些特殊处理。所以,为了避免这种情况,最简单的方式就是:获取当前控件区域的父窗口背景色,替换到该控件区域,每次在重新设置文本时,进行刷新。根据获取的父窗口指针,从而可以获取到父窗口的区域,并转换成当前控件的区域,直接进行刷新,强制给CStatic替换背景。如果想尝试的伙伴们可以试试,但是你会发现,设置了双缓存之后,控件的透明背景效果居然不生效了!那么,这种情况一般是在什么时候出现呢?
使用MFC实现可控的多位图动画显示
简介:本文介绍在MFC框架下如何实现具备暂停和开始功能的多位图动画显示。通过自定义控件、定时器控制以及位图资源管理,详细阐述了创建具有动态效果动画的步骤,并提供了优化动画性能与资源使用的建议。
如何修改cstatic控件的颜色和字体
设置控件颜色的主要目的是为了解决控件文字背景色不透明的问题。当向一个有背景色的界面上放置控件后,由于控件文字的背景色与界面背景色不符,使文字背后留下难看的灰块。现在我定义了可设置背景色和前景色的控件,只要使控件背景色与界面背景色相同,问题就解决了。 设置控件颜色和字体时必须重载
MFC中修改静态文本框中文字的字体、颜色
假设有一个静态文本框控件,其ID为:IDC_STATIC_XSDJ,且关联一个control类的CStatic类型的变量m_static_xsdj。 设置字体时自然要用到CFont类,下面介绍两种方法,两种方法都要先在头文件中添加一个变量CFont newFont,切记要声明称类的成员变量,不能是局部变量 方法一: 在OnInitDialog()函数中添加代码: 1 new
MFC傻瓜式教程
本教程重操作,轻理论,为操作减负。需了解详细原理的朋友可以自行看各种书籍。
动态Static文本导致字体重叠的解决方案
场景: 需要动态更新Static静态文本框的内容来显示不同状态信息 要求:设置文本框背景透明 方法:添加消息ON_WM_CTLCOLOR() HBRUSH CAppHelperDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCt...
如何修改几种控件的颜色和字体【作者:风林 来源:风林的家 】
设置控件颜色的主要目的是为了解决控件文字背景色不透明的问题。当向一个有背景色的界面上放置控件后,由于控件文字的背景色与界面背景色不符,使文字背后留下难看的灰块。现在我定义了可设置背景色和前景色的控件,只要使控件背景色与界面背景色相同,问题就解决了。设置控件颜色和字体时必须重载该控件对应的类,在其中加入相关的颜色控制和字体函数。各种控件的做法完全相同,只是重载的类不一样。注:对于静态文本控件(Static Text)、单选按钮(Radio Button)、复选按钮(Check Box)、组合框(Group B

被折叠的 条评论
为什么被折叠?



