mfc c++如何利用文件-打开,依次打开多张图片,并使图片不重叠

平台vs2012我写的是添加“打开”菜单响应函数CStringszFilter=_T("位图(*.bmp)|*.bmp|动图(*.gif)|*.gif|图片(*.jpg)... 平台 vs2012
我写的是
添加“打开”菜单响应函数
CString szFilter=_T("位图(*.bmp)|*.bmp|动图(*.gif)|*.gif|图片(*.jpg)|*.jpg|所有文件(*.*)|*.*||");
CFileDialog dlg(TRUE,_T("bmp|gif|jpg"),NULL ,OFN_OVERWRITEPROMPT,szFilter );
if(dlg.DoModal ()==IDOK )
{
m_strPathName=dlg.GetPathName ();
Invalidate ();
}
在ondraw里写
if(!m_strPathName.IsEmpty ())
{
m_image.Load (m_strPathName );
m_image.Draw (pDC->m_hDC,0,0);
}
这样并不能实现图片不能重叠,还有在我打开第二张图片的时候会弹出错误对话框,如下
展开
 我来答
jellycgl
2015-10-28 · TA获得超过417个赞
知道小有建树答主
回答量:1149
采纳率:66%
帮助的人:891万
展开全部
应该是在某一处使用同一个图片句柄加载多张图片导致的
if(!m_strPathName.IsEmpty ())
{
m_image.Load (m_strPathName );
}
从第二张开始,这个判断都可以进来,m_image还没有Detach就再次Load,可能就是崩溃在这里了
追问
哦哦,这个问题啊已经解决了,就是路径的问题。可是老师的要求是连续打开多张图片,怎么打开后面的呀?打开第二章以后会自动替换掉第一张,并不嫩同时打开两张
追答
用多个变量记录不就可以打开多张了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式