MFC对话框背景图添加与自适应缩放(通过OnPaint DC)

本文介绍如何在MFC应用程序中加载位图资源,并通过OnPaint函数实现在窗口中绘制位图的过程。涉及使用资源视图添加位图资源、在对话框类中加载位图、获取位图尺寸及在客户区绘制位图等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、资源视图添加BITMAP位图资源

二、#include “resource.h”

二、 在该对话框类视图中(或者类向导消息函数或者别的什么方法)找到OnPaint函数,在else{后添加代码;

CBitmap bmp;
bmp.LoadBitmap(IDB_BITMAP1); //载入位图


int nBmpWidth, nBmpHeight;
BITMAP bmInfo;
bmp.GetBitmap(&bmInfo);
nBmpWidth=bmInfo.bmWidth;
nBmpHeight=bmInfo.bmHeight;  //获取位图的实际大小


CRect clientRC;
GetClientRect(clientRC);  //获取客户区域的大小


CDC *pDC=GetDC();  //屏幕DC
CDC memDC;
memDC.CreateCompatibleDC(pDC); //内存DC
memDC.SelectObject(&bmp);
pDC->StretchBlt(0,0,clientRC.Width(),clientRC.Height(),&memDC,0,0, nBmpWidth, nBmpHeight, SRCCOPY);  //在窗口绘图


memDC.DeleteDC();  
bmp.DeleteObject();
ReleaseDC(pDC);//释放




 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值