如何釋放句柄?如(HDC&HBITMAP)HDCpaintDC=
試試看delete paintDC;
記得應該就是用DeleteObject呀~
請教:windowsmobile手機豎螢幕切換到橫螢幕時候,螢幕?
改為 InvalidateRect(hWnd, NULL, FALSE)試試。或者屏蔽掉繪制背景消息。
語句dc->BitBlt()和hdc=::CreateCompatibleDC()中dc和hdc的不同,急,謝謝~
dc是在CFrameWnd裡的,封裝好的,相當于精裝修房,用起來友善一些
CDC dc;
CDC *mdc;
mdc=new CDC;//建立記憶體
mdc->CreateCompatibleDC(&dc); // 将記憶體與作畫區進行關聯。将dc的位址傳遞進去。 &是取dc位址
mdc->SelectObject(bitmap); //将圖檔放入到記憶體中
dc.BitBlt(x,y,width,height,mdc,left,top,SRCPAINT);
hdc是Win32程式設計裡直接用的,屬于毛坯房一點用起來自由一點
HDC dc;
HDC *mdc;
mdc=new HDC;//建立記憶體
/mdc->CreateCompatibleDC(dc); // 将記憶體與作畫區進行關聯。将dc的位址傳遞進去。 &是取dc位址
mdc->SelectObject(bitmap); //将圖檔放入到記憶體中BitBlt(dc,x,y,width,height,mdc,left,top,SRCPAINT);
注意,前面都差不多,最後一行那個BitBlt不同,一個是面向對象的dc.BitBlt, 另一個是自由函數BitBlt.你這段語句裡面dc是一個CDC對象的指針。和一般類的對象指針的使用沒什麼不同。
而HDC是一個句柄。很多操作都是把這個句柄當作參數來調用的。