国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
WINCE下實現(xiàn)類似iphone滑動效果
  1. HDC hCurDC;                 // 當(dāng)前屏幕DC句柄   
  2. HDC hMemDC;                 // 內(nèi)存DC句柄   
  3. HBITMAP hBitmap,hOldBitmap; // 位圖句柄   
  4.   
  5. // 獲取當(dāng)前屏幕DC句柄   
  6. hCurDC=GetWindowDC(NULL);  
  7. // 創(chuàng)建內(nèi)存DC   
  8. hMemDC=CreateCompatibleDC(hCurDC);  
  9. // 創(chuàng)建兼容位圖   
  10. hBitmap=CreateCompatibleBitmap(hCurDC,800*2,480);  
  11. // 將兼容位圖選入到內(nèi)存DC   
  12. hOldBitmap=(HBITMAP)SelectObject(hMemDC,hBitmap);  
  13. // 將當(dāng)前屏幕DC拷貝到內(nèi)存DC   
  14. BitBlt(hMemDC, 0, 0, 800, 480, hCurDC, 0, 0,SRCCOPY);  
  15. // 將需要顯示的窗口界面拷貝到內(nèi)存DC(與當(dāng)前的DC合并)   
  16. RECT rect={800,0,1600,480};  
  17. DrawImage(hMemDC,L"http://NAND2//back.bmp",rect);  
  18.   
  19. // 實現(xiàn)滑動效果(新界面從右往左滑動)   
  20. for(DWORD dwPos = 0; dwPos <= 800;)     
  21. {          
  22.          // 將內(nèi)存DC繪制到目標(biāo)窗口DC   
  23.     BitBlt(GetDC(hWnd),     
  24.         0,     
  25.         0,     
  26.         800,     
  27.         480,     
  28.         hMemDC,     
  29.         dwPos,     
  30.         0,    
  31.         SRCCOPY);  
  32.     dwPos+=100;// 改增量可以控制滑動速度   
  33. };  
  34. // 恢復(fù)并釋放環(huán)境   
  35. SelectObject(hMemDC,hOldBitmap);  
  36. DeleteObject(hBitmap);    
  37. DeleteDC(hMemDC);  

      基于以上原理,還可以實現(xiàn)界面的從左至右,從上至下以及從下至上的滑動顯示。下面的代碼實現(xiàn)了界面從屏幕頂端往底端滑動效果。

  1. HDC hDC;                    // 當(dāng)前窗體DC句柄   
  2. HDC hMemDC;                 // 內(nèi)存DC句柄   
  3. HBITMAP hBitmap,hOldBitmap; // 位圖句柄   
  4.   
  5. // 獲取當(dāng)前窗體DC句柄   
  6. hDC=GetDC(hWnd);  
  7. // 創(chuàng)建內(nèi)存DC   
  8. hMemDC=CreateCompatibleDC(hDC);  
  9. // 創(chuàng)建兼容位圖   
  10. hBitmap=CreateCompatibleBitmap(hDC,320,480);  
  11. // 將兼容位圖選入到內(nèi)存DC   
  12. hOldBitmap=(HBITMAP)SelectObject(hMemDC,hBitmap);  
  13. // 將圖片繪制到內(nèi)存DC   
  14. RECT rect={0,0,320,480};  
  15. DrawImage(hMemDC,L"http://NAND2//clock.jpg",rect);  
  16.   
  17. // 實現(xiàn)滑動效果(界面從屏幕頂端往底端滑動)   
  18. for(DWORD dwPos = 480; dwPos > 0;)     
  19. {          
  20.     // 將內(nèi)存DC繪制到目標(biāo)窗口DC   
  21.     BitBlt(GetDC(hWnd),     
  22.         (800-320)/2,     
  23.         0,     
  24.         (800-320)/2+320,     
  25.         480,     
  26.         hMemDC,     
  27.         0,     
  28.         dwPos,    
  29.         SRCCOPY);  
  30.     dwPos-=20;// 該增量可以控制滑動速度   
  31. };  
  32. // 恢復(fù)并釋放環(huán)境   
  33. SelectObject(hMemDC,hOldBitmap);  
  34. DeleteObject(hBitmap);    
  35. DeleteDC(hMemDC);  

界面從屏幕頂端往底端滑動顯示效果圖:

 

 

DrawImage實現(xiàn)代碼:

  1. /**********************************************************************   
  2. 函數(shù)名:  DrawImage   
  3. 功能:    從文件中加載圖片并繪制到DC     
  4. 參數(shù):   
  5. [in]hdc:              目標(biāo)DC 
  6. [in]iconPath:         圖片的路徑   
  7. [in]rect              繪制區(qū)域   
  8. 返回值:  無  
  9. 說明:    支持bmp、jpg、png、gif等主流類型圖片 
  10. 創(chuàng)建者:  firehood 2010-8-11 
  11. **********************************************************************/    
  12. void DrawImage(HDC hdc,LPCWSTR iconPath,RECT rect)  
  13. {  
  14.     IImage * m_pImage=NULL;  
  15.     IImagingFactory * m_pImagingFactory=NULL;  
  16.   
  17.     HRESULT hr;  
  18.   
  19.     // COM初始化   
  20.     if (FAILED(hr = CoInitializeEx(NULL, COINIT_MULTITHREADED)))  
  21.     {    
  22.         goto END;  
  23.     }  
  24.   
  25.     // 創(chuàng)建COM實例   
  26.     if(FAILED(hr = CoCreateInstance(CLSID_ImagingFactory,NULL,CLSCTX_INPROC_SERVER,IID_IImagingFactory,(void**) &m_pImagingFactory)))  
  27.     {  
  28.         goto END;  
  29.     }  
  30.   
  31.     // 從文件中創(chuàng)建圖片   
  32.     if(FAILED(hr = m_pImagingFactory->CreateImageFromFile(iconPath, &m_pImage)))  
  33.     {  
  34.         goto END;  
  35.     }  
  36.     // 繪制圖片   
  37.     if(FAILED(hr = m_pImage->Draw(hdc,&rect,NULL)))  
  38.     {  
  39.         goto END;  
  40.     }  
  41.   
  42. END:  
  43.     // 釋放資源   
  44.   
  45.     if(m_pImage != NULL)  
  46.     {  
  47.         m_pImage->Release();  
  48.         m_pImage = NULL;  
  49.     }  
  50.   
  51.     if(m_pImagingFactory != NULL)  
  52.     {  
  53.         m_pImagingFactory->Release();  
  54.         m_pImagingFactory = NULL;  
  55.     }  
  56.   
  57.     CoUninitialize();  
  58. }  
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
今天在學(xué)習(xí)用內(nèi)存DC畫圖,終于有了初步了解?,F(xiàn)將收集的關(guān)于內(nèi)存DC介紹及其相關(guān)操作的資料貼出來共享一下。
CreateCompatibleDC,CreateCompatibleBitmap,SelectObject詳解
一個DC拷貝到內(nèi)存DC上。
VC 怎樣實現(xiàn)屏幕捕捉(源程序)
VC中CDC與HDC的區(qū)別以及二者之間的轉(zhuǎn)換
day08
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服