MFC 的 Picture Control 加载 BMP/PNG 图片

本文介绍了如何在MFC应用程序中使用CStatic控件加载不同类型的图片,包括BMP和PNG格式。对于BMP格式,通过设置句柄并指定文件路径实现加载;而对于PNG格式,则先将图片加载到CImage对象再转换为位图句柄进行显示。此外还介绍了如何在资源编辑器中设置图片控件的类型及资源ID。

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

1. 加载 BMP

CStatic* pWnd = (CStatic*)GetDlgItem(IDC_PIC); // 得到 Picture Control 句柄
pWnd->ModifyStyle(0, SS_BITMAP); // 修改它的属性为位图
pWnd->SetBitmap((HBITMAP)::LoadImage(NULL, _T("bmp.bmp"), 
                IMAGE_BITMAP, 
                100, 
                50, 
                LR_CREATEDIBSECTION | LR_DEFAULTSIZE | LR_LOADFROMFILE));
2. 加载 PNG
CStatic* pWnd = (CStatic*)GetDlgItem(IDC_PIC); // 得到 Picture Control 句柄
CImage image;
image.Load(_T("png.png");
HBITMAP hBmp = image.Detach();
pWnd->SetBitmap(hBmp);
pWnd->SetWindowPos(NULL, 
                   0, 
                   0, 
                   100, 
                   50, 
                   SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOZORDER);
3. 在资源编辑器中选定图片控件 -> Alt+Enter 打开该图片控件的“属性窗口” -> 在 "Type" 中选定图片类型 -> 在"Image"中选定图片对应的资源 ID.

 

     
原文: http://hi.baidu.com/beachfish%CA%B7%D3%F1%CB%A7/blog/item/8addb204c5e93e9be850cd7b.html



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值