您的位置:首页 > 其它

MFC 学习笔记之对话框背景图

2012-08-06 18:02 302 查看
第一步:创建了对话框工程之后,要添加背景,需要先将BMP图片资源导入项目中(不管是主对话框还是自对话框)。

具体步骤如下:

1、右键单击向导里的Resource Files->Add->Resource...



2、出现如下窗口,单击Bitmap,再点击Import...



3、弹出路径选择对话框,找到你想要作为背景的图片,打开即可(图略)。

4、导入成功后如下图:



5、修改ID

在Resource View 中新出现了一个Bitmap文件夹,将ID改成你需要的名字如:IDB_PIC_TWO(自己命名)

到此导入完成。

第二步:添加代码

在Source Files中找到UITestDlg.cpp(你的项目类),打开后找到void CUITestDlg::OnPaint(){};

(也可直接定位)。在else中添加如下代码:

else
{
CPaintDC dc(this);

// 创建兼容DC
CDC dcMemory;
dcMemory.CreateCompatibleDC(&dc);

// 载入位图
CBitmap bmpLead;
bmpLead.LoadBitmapA(IDB_PIC_TWO);

// 获取位图信息
BITMAP bmpInfo;
bmpLead.GetBitmap(&bmpInfo);

// 将位图载入内存,返回旧值
CBitmap *pOldBitmap = dcMemory.SelectObject(&bmpLead);

// 获取目标矩形客户区坐标用于绘图
CRect rect;
GetClientRect(&rect);
dc.StretchBlt(0, 0, rect.Width(), rect.Height(),
&dcMemory, 0, 0, bmpInfo.bmWidth, bmpInfo.bmHeight, SRCCOPY);

// 载入旧值
dcMemory.SelectObject(pOldBitmap);
DeleteObject(bmpLead);
}


保存后编译运行,效果如下:



至此初步完成,至于像素,图像大小等需要进一步学习。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: