MFC控件贴图JPG、BMP等

本文介绍了一种在MFC应用程序中使用CFileDialog对话框选取图片,并将其显示在一个静态控件上的方法。通过CImage类加载图片并使用设备上下文进行绘制,实现了图片的预览功能。

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

void CpictureDlg::OnLoadPicture()
{
CString m_strfile; 
CRect rect;
m_static_pic.GetClientRect(&rect);
CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, 
L"Picture Files (*.bmp *.ico *.jpg)|*bmp;*.ico;*jpg|",NULL);
if(dlg.DoModal ()) 
{ 
m_strfile=dlg.GetPathName (); 
} 
/*HBITMAP hbitmap=(HBITMAP)LoadImage(AfxGetInstanceHandle(), 
m_strfile, 
IMAGE_BITMAP, 
rect.Width(), 
rect.Height(), 
LR_LOADFROMFILE); 
m_staticpic.SetBitmap(hbitmap);
*/
if (m_strfile == L"")
return;
CImage image;
image.Load(m_strfile);
m_static_pic.GetClientRect(&rect); 
CDC * pDc=m_static_pic.GetWindowDC(); 
image.Draw(pDc->m_hDC,rect);
ReleaseDC(pDc);

}

  

转载于:https://www.cnblogs.com/groundsong/p/5747407.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值