MFC对话框设置背景图片、背景颜色的问题

MFC设置背景颜色:

在对话框类的onPaint函数中的代码:

CPaintDC dc(this); // device context for painting
// TODO: 在此处添加消息处理程序代码

CRect rect;
GetClientRect(rect);
dc.FillSolidRect(rect,RGB(193,210,240)); 
// 不为绘图消息调用
CDialog::OnPaint();

查阅http://www.114la.com/other/rgb.htm中的颜色对照表

MFC对话框设置背景图片:

将bmp格式的图片放到项目的res目录下,然后添加Bitmap类型资源导入该图片,设置bitmap的ID。

然后再初始化的地方写代码:

CBitmap bit;
CDC memDC;
CRect rect;
this->GetClientRect(&rect);

bit.LoadBitmap(IDB_BITMAP1);//IDB_BITMAP1是图片的ID

BITMAP bmpInfo;
bit.GetBitmap(&bmpInfo);
int imgWidth = bmpInfo.bmWidth;
int imgHeight = bmpInfo.bmHeight;
memDC.CreateCompatibleDC(&dc);
memDC.SelectObject(&bit);
dc.StretchBlt(0,0,rect.Width(),rect.Height(),&memDC,0,0,imgWidth,imgHeight,SRCCOPY);
memDC.DeleteDC();
bit.DeleteObject();

posted @ 2012-11-29 10:58  猪呆呆  阅读(526)  评论(0编辑  收藏  举报