| 
		
			| 
	
	
		
			
		
		
		
				
				
		
		
				
						在VC中如果实现GIF的播放?
						
						
						void   CImageView::OnDraw(CDC*   pDC)
 {
 CImageDoc*   pDoc   =   GetDocument();
 ASSERT_VALID(pDoc);
 //   TODO:   add   draw   code   for   native   data   here
 IPicture   *pPic;
 IStream   *pStm;
 
 CFileStatus   fstatus;
 CFile   file;
 LONG   cb;
 
 if   (file.Open("c:/a.jpg",CFile::modeRead)
 &&file.GetStatus("c:/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.ReadHuge(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;
 fX   =  
(double)pDC->GetDeviceCaps(HORZRES)*(double)hmWidth/((double)pDC->GetDeviceCaps(HORZSIZE)*100.0);
 fY   =  
(double)pDC->GetDeviceCaps(VERTRES)*(double)hmHeight/((double)pDC->GetDeviceCaps(VERTSIZE)*100.0);
 if(FAILED(pPic->Render(*pDC,0,0,(DWORD)fX,(DWORD)fY,0,hmHeight,hmWidth,-hmHeight,NULL)))
 AfxMessageBox("Failed   To   Render   The   picture!");
 pPic->Release();
 }
 else
 AfxMessageBox("Error  
Loading   Picture   From   Stream!");
 }
 }
 }
 else
 AfxMessageBox("Can't   Open   Image   File!");
 
 }
     |  | 
		
			| 
			
				| 
	|  |  | 日 | 一 | 二 | 三 | 四 | 五 | 六 | 
|---|
 | 28 | 29 | 30 | 1 | 2 | 3 | 4 |  | 5 | 6 | 7 | 8 | 9 | 10 | 11 |  | 12 | 13 | 14 | 15 | 16 | 17 | 18 |  | 19 | 20 | 21 | 22 | 23 | 24 | 25 |  | 26 | 27 | 28 | 29 | 30 | 31 | 1 |  | 2 | 3 | 4 | 5 | 6 | 7 | 8 |  |  常用链接留言簿(7)随笔档案文章分类文章档案相册收藏夹c++搜索最新评论
	阅读排行榜评论排行榜
 |  |