MFC基础:关于文件打开问题 求助:建立一个MFC单文档,自己做一个菜单,文件->打开,消息处理函数为OnFileOpen(),但是打开一个图片并不能显示,是什么原因?应该做么做啊 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 调查一下loadimage吧,类似于这种函数的可以显示图片。直接从MSDN中找。 LoadImage()写在OnDraw里还是OnFileOpen()里?》 您直接打开仅仅可以得到的是图片的路径(这还要您自己写代码获得),然后您要调用loadimage等GDI函数把它显示出来才行。仅仅是打开是不够的。 显示图片只要使用LoadImage就可以了,还是我要另外建立一个类? 直接用::LoadImage()直接从磁盘文件读入位图 并返回一DIB项句柄CDC::LoadBitmap()将基于资源的DIB转换成GDI位图 通常在OnDraw()里调用 LoadImage()也只是读取而已,显示的时候还要用BitBlt,StretchBlt等方法 显示图片的代码要自己写,GDI+比较方便 在OnFileOpen()里写的代码如下:{static char szFilter[]="BMP Files(*.bmp)|*.bmp|GIF Files(*.gif)|*.gif|JPG Files(*.jpg;*.jpeg)|*.jpg;*.jpeg||"; CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY, szFilter ); if(dlg.DoModal ()==IDOK) { CFile file; VERIFY(file.Open (dlg.GetPathName (),CFile::modeRead )); } CImage img; img.Load( dlg.GetFileName ());}在View类OnDraw()函数里写入: if (!m_Image.IsNull()) m_Image.Draw (pDC->m_hDC ,0,0);这样还是不能够显示图片,错在那里啊?要不要在View类再写个Draw函数啊,如果写的话写什么代码啊? 为什么有得机器上运行同一程序就不能弹出对话框 高手们 请问这个东西怎样实现?? 菜鸟求助!!!急!!! 请问以下代码里的MyConnection是什么类?怎么定义? CDialogBar的问题,如解决另付100分 essential .NET 搞不明白auxReshapeFunc, auxMainLoop的作用 为会我的AddPrinterDriver API函数没法使用 大家帮我,我怎么给大家分。 HOOK方式获取google earth窗口鼠标事件的问题 [activex]新手问题之——如何Debug 继续刻录光盘之USB
::LoadImage()直接从磁盘文件读入位图 并返回一DIB项句柄
CDC::LoadBitmap()将基于资源的DIB转换成GDI位图 通常在OnDraw()里调用
{static char szFilter[]="BMP Files(*.bmp)|*.bmp|GIF Files(*.gif)|*.gif|JPG Files(*.jpg;*.jpeg)|*.jpg;*.jpeg||"; CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY, szFilter );
if(dlg.DoModal ()==IDOK)
{
CFile file;
VERIFY(file.Open (dlg.GetPathName (),CFile::modeRead )); } CImage img; img.Load( dlg.GetFileName ());
}
在View类OnDraw()函数里写入:
if (!m_Image.IsNull())
m_Image.Draw (pDC->m_hDC ,0,0);
这样还是不能够显示图片,错在那里啊?要不要在View类再写个Draw函数啊,如果写的话写什么代码啊?