MFC 加载界面背景图中间有白色背景闪的问题
来源:互联网 发布:营销软件推荐 编辑:程序博客网 时间:2024/04/30 07:41
如果是一般闪图的问题可以用双缓冲就行了,我碰到的情况可能有点特殊,他局限于启动程序的时候会看到一个白屏切换的过程。
现在我描述一下:
新建一个MFC程序,在onpain()函数里画一幅图,然后大家用断点跟踪到
CPaintDC dc(this); // device context for painting
这句代码就会发现窗体在屏幕上刷出来了,这时没有画图,这个就是我们自己建的窗体的样子,白色的底。也就是我们打开程序的时候会刷的一个白屏,有的速度很快就感觉不到了。但细心一点就会看出来。假如你画的是一个黑图,这样突然从白色变为黑色,我们的眼睛会感觉到不舒服。
当然一般是不会去觉得这个有问题的,因为我的这个程序是设置开机自启动的,而刚开机的时候速度有点慢,这样白屏的这个界面就会比较明显的感觉到。
现在我们要解决这个问题。
CPaintDC dc(this); // device context for painting就是画一个窗体,当然包括窗体的颜色和其它属性,我们不能隐藏它,而直接画出背景图。那我们怎么让自己的眼睛舒服呢,我就尝试让他在绘制窗体的时候换一种颜色,来达到让眼睛感觉柔和的效果。
看下面代码,改变一下OnCtlColor这个函数就行了
If you want to change the background color of your dialog box, it is a very simple.
In your CTestDlg header file, declare a member variable from CBrush:
class CTestDlg : public CDialog{...protected: CBrush m_brush;...};
Then, add this line in the OnInitDialog function:
BOOL CTestDlg::OnInitDialog(){ ... m_brush.CreateSolidBrush(RGB(255, 255, 255)); // color white brush ...}
Finally do this on the ID_CTLCOLOR handle:
HBRUSH CAboutDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor){/*** No need to do this!**** HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);*//*** Return the white brush.*/return m_brush;}
m_brush.CreateSolidBrush(RGB(255, 255, 255)); 把这里的颜色改成和你的图相近的颜色试一下,这样应该从视觉上让眼睛感觉不会很刺吧
- MFC 加载界面背景图中间有白色背景闪的问题
- VC++ MFC 中动态更改透明背景的静态文本时重叠现象(尤其是界面设置了背景图片时)
- 解决IE下iframe默认有白色背景的bug
- 制作无白色栏、无白色背景框的加载等待dialog
- Symbian 去掉自定义控件背景白色的问题
- 把对话框一部分背景设为白色的问题
- android acitvity跳转有白色背景 进入软件显示白色
- 一款超超漂亮的显示时间特效(embed html标签),有透明背景和白色背景
- MFC对话框背景图失真问题
- Android WebView加载Html文本不能适配,以及图片中间有空白的问题
- MFC绘制有背景图像的对话框
- MFC加载位图背景
- 自定义dialog有特殊效果的背景图时,背景四角阴影解决方案
- Qt中Mainwindow的菜单栏怎么变成白色的,在ui编辑界面的菜单栏后面的黑色背景变成白色
- FLEX背景图的动态加载
- android启动activity时会有一个带标题栏的白色界面闪过
- MFC之一改变界面背景
- 图片的白色背景变透明
- spring事务属性详解
- 我的博客
- WinForm控件开发总结(七)-----为复杂属性的子属性提供编辑功能
- asp.net 2.0 移动开发入门之使用模拟器
- ExeScope辅助测试工具简介
- MFC 加载界面背景图中间有白色背景闪的问题
- IE6、IE7、Firefox无提示关闭窗口的代码
- Linux C编程一站式学习
- VC中常用的一些文件扩展名
- JAVA中调用Oracle存储过程
- WinForm控件开发总结(八)-----为属性提供弹出式编辑对话框
- DIRECTX9.0绘制流水线
- 借鉴学习JavaEye的站内短信的设计,应用于《威博文件管理系统》的工作助手---之---站内用户短信
- 用正则表达式验证普通车牌号格式