CDC之CreateCompatibleDC与BitBlt
創建一個與指定設備一致的內存設備描寫敘述表。
HDC?CreateCompatibleDC(HDC hdc //設備描寫敘述表句柄);
參數?hdc
現有的設備描寫敘述表的一個句柄,假設這個句柄為NULL,則函數創建一個和應用程序當前屏幕一致的內存設備描寫敘述表。
返回值?假設函數調用成功,則返回一個內存設備描寫敘述表句柄;否則返回NULL。
| 說明 | |
| 創建一個與特定設備場景一致的內存設備場景 | |
| 返回值 | |
| Long,新設備場景句柄,若出錯則為零 | |
| 參數表 | |
| 參數 | 類型及說明 |
| hdc | Long,設備場景句柄。新的設備場景將與它一致。也可能為0以創建一個與屏幕一致的設備場景 |
| 注解 | |
| 在繪制之前,先要為該設備場景選定一個位圖。不再須要時,該設備場景可用DeleteDC函數刪除。刪除前,其全部對象應回復初始狀態 | |
BitBlt( //圖形拷貝
HMDC0, //目標設備場景
x0,y0 //目標左上角坐標
w,h //目標圖形寬、高
HMDC1, //源設備場景
x1,y1 //源左上角坐標
SRCCOPY //拷貝方式,這里是直接拷貝);
HBITMAP hbmp = (HBITMAP)::LoadImage(
AfxGetInstanceHandle(),
nidresourcename,IMAGE_BITMAP,0,0,
LR_CREATEDIBSECTION);
1.怎樣獲取應用程序的實例句柄CWinAppIm_hInstance中,用戶能夠調用AfxGetInstanceHandle獲取句柄。
?/P>
2.怎樣在代碼中獲取應用程序主窗體的指針
主框窗體的指針保存在CwinThread:: m_pMaiWnd中,能夠調用AfxGetMainWnd來獲取。以下的樣例使應用程序極小化:
AfxGetMainWnd ()->ShowWindow(SW_SHOWWMINMIZED);
CreateCompatibleDC
CDC MemDC;//首先定義一個顯示設備對象
CBitmap MemBitmap;//定義一個位圖對象
//隨后建立與屏幕顯示兼容的內存顯示設備
MemDC.CreateCompatibleDC(NULL);
//這時還不能畫圖,由于沒有地方畫^_^
//以下建立一個與屏幕顯示兼容的位圖,至于位圖的大小嘛,能夠用窗體的大小
CRect rc;
GetClientRect(&rc);
MemBitmap.CreateCompatibleBitmap(pDC,rc.Width(),rc.Height());
//將位圖選入到內存顯示設備中
//僅僅有選入了位圖的
總結
以上是生活随笔為你收集整理的CDC之CreateCompatibleDC与BitBlt的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 亲测_精简版Fiddler抓包手机端GE
- 下一篇: Python实现模板