MFC绘制有背景图像的对话框

实用,记上。

1、在网上找到合适的位图,并添加位图资源,例如命名为IDB_BACK1;

2、插入对话框,先拖放控件;

3、在对话框类添加两个变量,位图变量和画刷变量:

CBitmap m_bmBack;

CBrush m_brBack;

这里声明为类成员是为了避免函数运行完后局部变量被销毁的情况。

4、在OnInitDialog中加载位图资源和位图画刷:

...

m_bmBack.DeleteObject();

m_brBack.DeleteObject();

m_bmBack.LoadBitmap(IDB_BACK1);

m_brBack.CreatePatternBrush(&m_bmBack);

...

5、重载OnCtlColor函数,将背景图片绘制到对话框上:

{

HBRUSH hbr = CDialog::OnCtlColor(pDC,pWnd,nCtlColor);\

if(nCtlColor == CTLCOLOR_DLG)

{

pDC->SetBKMode(TRANSPARENT);

return m_brBack;

}

return hbr;

}

这个函数将返回绘制控件背景的画刷的句柄。即当绘制控件时,该函数就会被调用。

当然nCtlColor还有其他参数,通过这些参数可以改变对话框和其他控件背景及文本颜色、字体等等。

时间: 2024-11-07 10:32:05

MFC绘制有背景图像的对话框的相关文章

【MFC】MFC绘制动态曲线,用双缓冲绘图技术防闪烁

摘自:http://zhy1987819.blog.163.com/blog/static/841427882011614103454335/ MFC绘制动态曲线,用双缓冲绘图技术防闪烁 2011-07-14 10:34:54|  分类: 学习笔记 |  标签:双缓冲绘图技术  mfc  动态曲线   |举报 |字号 订阅 先上效果图 随着时间的推移,曲线向右平移,同时X轴的时间坐标跟着更新.一.如何绘制动态曲线. 所谓动画,都是一帧一帧的图像连续呈现在用户面前形成的.所以如果你掌握了如何绘制静

MFC+opencv+高斯背景前景提取图像显示问题

最近做项目遇到一个问题,再用混合高斯背景模型提取前景图显示到MFC窗口上的时候,出现了一个问题,图像显示不正常.显示效果如下图: 我是使用Mat类型图像和imshow进行显示的,出现这个状况出乎意料.因为其他都能正常显示. 之后开始在网上查找问题所在,可是经过多方查找,发现网上根本没有此类问题.尴尬. 最后无奈开始各方求助,问答啊,论坛帖子啊都试过却没人解答...最后幸好通过指导老师认识了一个研三学长,学长说由于opencv与MFC图像格式不一样所以才会出现这个问题,需要将Mat导成二进制流再转

第七章 KinectV2结合MFC显示和处理图像数据(下)

第七章  KinectV2结合MFC显示和处理图像数据(下) 首先声明一下,本系统所使用的开发环境版本是计算机系统Windows 10.Visual Studio 2013.Opencv3.0和Kinect SDK v2.0.这些都可以在百度上找到,download下来安装一下即可. 一.在MFC中如何显示OpenCV的图像Mat 前段时间一直在学习opencv,但学习过程中写的例子都是基于控制台的.今天打算把之前写的一些例子都移植到MFC中,基本上就是复制以前的代码,唯一的区别在于在控制台中,

MFC绘制图片闪烁详解

用MFC如何高效地绘图             显示图形如何避免闪烁,如何提高显示效率是问得比较多的问题.     而且多数人认为MFC的绘图函数效率很低,总是想寻求其它的解决方案.     MFC的绘图效率的确不高但也不差,而且它的绘图函数使用非常简单,     只要使用方法得当,再加上一些技巧,用MFC可以得到效率很高的绘图程序.     我想就我长期(呵呵当然也只有2年多)使用MFC绘图的经验谈谈     我的一些观点.     1.显示的图形为什么会闪烁?             我们的

用Matplotlib绘制二维图像

唠叨几句: 近期在做数据分析,需要对数据做可视化处理,也就是画图,一般是用Matlib来做,但Matlib安装文件太大,不太想直接用它,据说其代码运行效率也很低,在网上看到可以先用Java做数据处理,然后调用Matlib来画图,另外,还可以使用Matplotlib,它是用Python写的类似Matlib的库,能实现Matlib的功能,而且画图的质量很高,可用于做论文发表.找了一天的资料,终于出图了. Matplotlib需要配合numpy,scipy才能使用,具体安装步骤稍后补充. 正文: 用M

html5 canvas精美花纹背景图像插件

这是一款可以在指定容器中生成精美网页背景花纹图像的js插件.该花纹背景插件使用js来生成html5 canvas,并在其中绘制各种花纹图像.背景花纹图像可以是静态的,也可以制作成动态花纹. 在线演示:http://www.htmleaf.com/Demo/201502101358.html 下载地址:http://www.htmleaf.com/html5/html5-canvas/201502101357.html

[转]MFC子线程更改图像数据后更新主窗口图像显示方法

程序思路是由外部的输入输出控制卡发出采集图像信号,之后相机采集图像得到图像数据指针,接收图像数据指针创建成图像最后显示到MFC对话框应用程序的Picture Control控件上,同时,为了标定相机位置,在主对话框类CMyDlg的OnPaint函数中有对Picture Control的绘图操作(不改变图像数据,进行画线,画矩形等操作). 设计时考虑到I/O卡何时发出采集信号或者相机何时得到图像数据指针是不确定的(不使用OnTime),同时考虑到I/O卡和相机的回调函数与主程序之间的数据交换会更加

C# 绘制Mandelbrot集合图像

关于MandelbrotSet的定义,可以参考英文版维基百科条目 Mandelbrot Set 本程序是一个单窗体程序,里面只有一个PictureBox控件pcbMS,用于放置绘制好的图像 一.23次迭代的黑白版本 1)生成图像 2)程序源码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using Syst

CSS:背景颜色/背景图像

使用CSS可以为html标签指定背景图像或背景颜色,并且可以设置图像的位置. 代码整理自w3school:http://www.w3school.com.cn <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <meta http-