IStream *m_pStream;//定义流对象
IPicture *m_pPicture;//定义接口对象
OLE_XSIZE_HIMETRIC m_JpgWidth; //jpg width
OLE_XSIZE_HIMETRIC m_JpgHeight;//jpg height
HGLOBAL hMem; //定义堆句柄
CFile m_File;
m_File.Open(strPictureName,CFile::modeReadWrite); ///读文件
ULONGLONG filesize = m_File.GetLength();///get file length
hMem = GlobalAlloc(GMEM_MOVEABLE,filesize);///alloc meomery
LPVOID pData = NULL;
pData = GlobalLock(hMem); //lock the meomry arey
m_File.Read(pData,filesize);///read file to the meomery
m_File.Close();
GlobalUnlock(hMem);
CreateStreamOnHGlobal(hMem,TRUE,&m_pStream);
OleLoadPicture(m_pStream,filesize,TRUE,IID_IPicture,(LPVOID*)&m_pPicture);
m_pPicture->get_Width(&m_JpgWidth);
m_pPicture->get_Height(&m_JpgHeight);CDC *pDC = m_Picture.GetDC();
CDC mdcPicture;
CRect rctPicture;
m_Picture.GetWindowRect(&rctPicture);
mdcPicture.CreateCompatibleDC(&dc);
ScreenToClient(&rctPicture);
m_pPicture->Render(pDC->m_hDC,0,0,rctPicture.Width(),
rctPicture.Height(),0,m_JpgHeight,m_JpgWidth,-m_JpgHeight,NULL);GlobalFree(hMem);
DeleteDC(dc);这是一对话框加载JPEG的程序当对话框窗口移动时,图片闪烁得很厉害,而且占用内存增加!如何解决?
解决方案 »
- 有兴趣做p2p程序测试不?
- 不想重启
- vc import a bitmap
- 如何让EDIT BOX显示字符串??
- 请问我在combobox里面处理退格健,该怎么判断光标处什么哪个字符之间,怎么删去前一个字符呢?
- ADO+ORCCLE 客户端连接远程数据库 如何ROLLBACK??
- VC里怎么用汇编?
- 一个关于用VC处理ACCESS database表的问题(with ADO),很急
- 请问VB如何访问内存地址?
- 谁能解释以下CWnd::SubclassDlgItem这个函数?谁用过CWnd::SubclassDlgItem这个函数?它有什么特殊作用?
- 一个简化程序的问题
- vc2010下编译总是出现编译错误:error C2440
试了,不行啊
用什么双缓冲绘图可以解决吗,怎么用?