MFC怎样将导入的bmp图片做为对话框背景图片??

MFC怎样将导入的bmp图片做为对话框背景图片???
比如我的bmp图片的ID是:IDB_BITMAP1,那么我想把这样图片做为对话框的背景,应该怎么操作,代码怎么打
求解!!!!!!

重写WM_ERASEBKGND消息,如下:

头文件:
afx_msg BOOL OnEraseBkgnd(CDC* pDC);

cpp文件:
添加消息映射
BEGIN_MESSAGE_MAP(CxxDialog, CDialog)
ON_WM_ERASEBKGND()
END_MESSAGE_MAP()

重写消息
BOOL CxxDialog::OnEraseBkgnd(CDC* pDC)
{
// CDialog::OnEraseBkgnd(pDC);//忘记要不要执行父类的这个了.
CDC memdc;
memdc.CreateCompatibleDC(pDC);
CBitmap bmp;
CBitmap *pOldBmp;
BITMAP bm;//用来保存图片的长宽等信息

bmp.LoadBitmap(IDB_BITMAP1);
bmp.GetBitmap(&bm);

//将图片选进缓冲区
pOldBmp = (CBitmap *)memdc.SelectObject(&bmp);

//如果图片跟对话框的客户区一样大,直接用BitBlt就可以
//pDC->BitBlt(0, 0, rcWnd.Width(), rcWnd.Height(), &memdc, 0, 0, SRCCOPY);

//如果图片比对话框的背景小,就要用StrechBlt来拉伸图片
pDC->StrechBlt(0, 0, rcWnd.Width, rcWnd.Height(), &memdc, 0, 0, bm.bmWidth,bm.bmHeight, SRCCOPY);

//释放DC
memdc.SelectObject(pOldBmp);
memdc.DeleteDC();

return TRUE;
}

只是根据记忆写的,你可以自己调试下。推荐学做界面很好的网站给你,上面都是些例子的源码。http://www.vckbase.com/code/
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-08-05
处理 OnPaint

然后使用 CDC类,选择你的图片
用StrechBlt或者BitBlt画到你窗口的DC上
第2个回答  2010-08-05
利用对话框 设置背景函数

MFC中如何载入bmp和jpeg格式的图片,并作为文件背景
步骤一:导入bmp文件:第二步:设置为背景:① 添加OnCtlColor消息响应函数:② 添加响应代码:HBRUSH CMyDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor){ HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);\/\/ TODO: Change any attributes of the DC here static CBrush gBr;...

MFC怎么为不同的对话框设置不同的背景
MFC设置背景,采用添加Bitmap的方法,首先把你想要设置为背景的图片转换成bmp格式,然后再引入到工程里面,再在每个对话框中添加控件,再选择。具体见图:1、首先在工程添加bitmap,右击工程名,添加。2、右击bitmap,选择引入。3、在下面的弹出的窗口中,选择文件类型,再找到你的bmp文件 4、引入成功后...

怎么给MFC的对话框加背景图片
1、新建MFC应用程序。2、在应用程序中,选择基于对话框,其他保持默认即可。3、右击项目,选择添加-资源。4、在添加资源对话框中,点击导入,选择要作为背景的图片。5、在工具箱找到Picture控件,托到界面中。6、在界面上点击选中Picture控件,然后在属性的Type下拉框中,选择Bitmap。7、再在Picture控件的...

MFC的一个对话框中怎样设置背景为一个图片
1、声明成员变量CBrush m_brush;2、在InitDialog中添加代码:CBitmap bmp;bmp.LoadBitmap(IDB_BITMAP1); \/\/这个IDB_BITMAP1要自己添加 m_brush.CreatePatternBrush(&bmp);3、重载对话框的OnCtlColor,改最后的返回值:return (HBRUSH)m_brush;方法二:把下面这段代码加进OnPaint()里就行了 CPa...

VC6.0MFC中怎样给对话框添加背景图片?
你添加的这个不是bmp位图文件 附加位图的时候,不能单单是把文件后缀改成.bmp 你可以用画图,或者其他看图工具,打开图片后另存为bmp格式 再插入的时候,就会变成位图附加到项目中了 附加了以后,图片的id会变成IDB_BITMAP1,你可以改成自己想要的名字 ...

用MFC添加一张本地图片作为窗口背景,如何实现,求具体代码
首先把图片格式转化为位图。以vs2010为例:.Dlg.cpp文件中添加:\/\/\/ ifdef _DEBUG define new DEBUG_NEW undef THIS_FILE static char THIS_FILE[]=__FILE__;define new DEBUG_NEW endif HBITMAP bit;HDC MemDC;int w,h;CString cc;BOOL loadbmp(CString cc){ DeleteObject(bit);bit=(HBIT...

怎样在MFC中读取一幅图片并显示在对话框里面
对话框类加一个存图像路径的变量 用来选择和打开图像 处理图像的部分写在“开始”按键的响应函数里 关于显示:你一个MFC对话框程序想显示图像在那啊?如果只要直接画上去的话就重载OnPaint写代码

在MFC资源中用一张bmp图替换一个对话框中原有的bmp图
引入后在oPaint里面用现在bitmap的ID替换之前的ID即可

怎么在按MFC的打开之后打开一个图片让图片显示在MFC窗体里?
对话框添加Pic控件 类型选择bitmap 关联Control类型变量m_pic 菜单消息处理函数内部

...但不知道如何在MFC对话框中插入背景图片,把这图片用于登录界面的背景...
背景图像加载很简单,你只需要做以下几步即可(假设你的登陆界面对话框类名叫“CLoginDlg”):(1)菜单“Insert”->"Resource",选择Bitmap,然后点“Import...”,选择你的背景图像,然后假设该资源ID为“IDB_BITMAP1”;(2)在LoginDlg.h下声明一个CBitmap m_BKbitmap;(3)在LoginDlg....

相似回答