在MFC中从打开文件对话框中选择文件如何在页面中显示缩略图,在线等

yuming7498 2007-09-20 04:05:25
在MFC中从打开文件对话框中选择文件如何在页面中显示缩略图,在线等
...全文
233 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2011-01-10
  • 打赏
  • 举报
回复
您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖

相关规定详见界面界面版关于版主结帖工作的具体办法
July_Ge 2010-12-16
  • 打赏
  • 举报
回复
没怎么看懂,持续学习中
kura015 2010-12-16
  • 打赏
  • 举报
回复
void Add::OnButtonPhoto()
{
// TODO: Add your control notification handler code here
TCHAR strFilter[] = "Picture Files (*.bmp)|*.bmp||";

CFileDialog dlg(TRUE, ".bmp", NULL, 0, strFilter);

if( dlg.DoModal() == IDOK )
{
m_sPhotopath = dlg.GetFileName();
Invalidate();
}
}

void Add::OnPaint()
{

CPaintDC dc(this);
HBITMAP bmpHandle = (HBITMAP)LoadImage(NULL,m_sPhotopath,IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
CBitmap bmpPicture; CDC mdcPicture;
CBitmap *bmpFromHandle = bmpPicture.FromHandle(bmpHandle);
//获得Picture的大小
CRect rctPicture;
m_picture.GetWindowRect(&rctPicture);
//获得图像大小
BITMAP bmp;
if(bmpFromHandle)
bmpFromHandle->GetBitmap(&bmp);
int nWidth = bmp.bmWidth;int nHeight = bmp.bmHeight;
mdcPicture.CreateCompatibleDC(&dc);//申请内存
CBitmap * bmpPrevious = mdcPicture.SelectObject(bmpFromHandle);
ScreenToClient(&rctPicture);//坐标转换
//缩放图像
dc.StretchBlt(rctPicture.left, rctPicture.top, rctPicture.Width(), rctPicture.Height(),&mdcPicture, 0, 0, nWidth, nHeight, SRCCOPY);
dc.SelectObject(bmpPrevious);
DeleteObject(bmpHandle);//释放内存资源


}
yihandrensunyong 2010-12-14
  • 打赏
  • 举报
回复
。。。
yuming7498 2007-09-27
  • 打赏
  • 举报
回复
能具体些吗,重载CFileDialog为什么就能显示缩略图了
菜牛 2007-09-26
  • 打赏
  • 举报
回复
重载CFileDialog
yuming7498 2007-09-26
  • 打赏
  • 举报
回复
yuming-123@sohu.com
LiuYinChina 2007-09-20
  • 打赏
  • 举报
回复
Email 多少

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧