VC++6.0如何在对话框显示JPG图像 VC++6.0如何在对话框显示JPG图像,最好用COM的,谢谢大家~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 放一个static,捕获WM_PAINT之后在static的位置上画为什么要用COM? 放一个picture控件上去,给其添加变量CPictureCtrl m_wndPict;然后载入你的图片到工程,在对话框的OnInitDialog中添加m_wndPict.SubclassDlgItem(IDC_IMAGEMYDOG, this);即可。具体的例子可以到这里免费下来看看http://download.csdn.net/source/2350936 方式很多难易有别。。最简单的用staticle 如果用COM,应该用IPicture 接口,下面有个例子,不妨看看: IPicture *pPic; IStream *pStm; CFileStatus fstatus; CFile file; LONG cb; if (file.Open(_T("a.jpg"),CFile::modeRead)&&file.GetStatus(_T("a.jpg"), fstatus)&& ((cb = fstatus.m_size) != -1)) { HGLOBAL hGlobal = GlobalAlloc(GMEM_MOVEABLE, cb); LPVOID pvData = NULL; if (hGlobal != NULL) { if ((pvData = GlobalLock(hGlobal)) != NULL) { file.Read(pvData, cb); GlobalUnlock(hGlobal); CreateStreamOnHGlobal(hGlobal, TRUE, &pStm); if(SUCCEEDED(OleLoadPicture(pStm,fstatus.m_size,TRUE,IID_IPicture,(LPVOID*)&pPic))) { OLE_XSIZE_HIMETRIC hmWidth; OLE_YSIZE_HIMETRIC hmHeight; pPic->get_Width(&hmWidth); pPic->get_Height(&hmHeight); double fX,fY; CRect rect; GetClientRect(rect); fX=rect.Width(); fY=rect.Height(); if(FAILED(pPic->Render(*pDC,0,0,hmWidth/25.4,hmHeight/25.4,0,hmHeight,hmWidth,-hmHeight,NULL))) AfxMessageBox(_T("Failed To Render The picture!")); pPic->Release(); } else AfxMessageBox(_T("Error Loading Picture From Stream!")); } } } else AfxMessageBox(_T("Can't Open Image File!")); VS2010 菜单添加运行出现异常 怎样控制窗口的移动 Windows有没有管理应用软件注册信息的API 如何控制风扇的开关及转速? 求VC界面编程的电子书籍 请问“##”运算符是什么意义? 小问题请教高手 为什么我的2001csdn装上之后运行总是出现错误运行不了? 请教各位,如何在线程中设置工具栏 新手初体验之:如何结束CreateProcess();建立的进程。谢谢了 主对话框中添加子对话框 用NSIS制作基于数据库的安装包
为什么要用COM?
AfxMessageBox(_T("Failed To Render The picture!"));
pPic->Release(); } else AfxMessageBox(_T("Error Loading Picture From Stream!")); } } } else AfxMessageBox(_T("Can't Open Image File!"));