模板類的實例化,區別只是在析構時,一個會釋放資源,一個不會。typedefCDCTCDCHandle;typedefCDCTCDC;2.CMemDC從CDC繼承,除了構造函數與析構函數外沒有其它成員函數3.CDC的成員變量只有一個:m_hDCCMemDC有自己的更多的成員變量,同時還可以使用CDC的m_hDC:CDCHandlem_dc;//屏幕的DCOwnerDCC" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

WTL中CMemDC與CDC、CDCHandle的聯系

系統 2321 0

1.CDC、CDCHandle只是CDCT<typename T>模板類的實例化,區別只是在析構時,一個會釋放資源,一個不會。
typedef CDCT<false>?? CDCHandle;
typedef CDCT<true>??? CDC;

2.CMemDC從CDC繼承,除了構造函數與析構函數外沒有其它成員函數
3.CDC的成員變量只有一個:m_hDC
CMemDC有自己的更多的成員變量,同時還可以使用CDC的m_hDC:
?? CDCHandle???? m_dc;????????? // 屏幕的DC Owner DC
?? CBitmap?????? m_bitmap;????? // Offscreen bitmap
?? CBitmapHandle m_hOldBitmap;? // Originally selected bitmap
?? RECT????????? m_rc;????????? // Rectangle of drawing area

4.實際使用:
(1)先將屏幕的hdc作為CMemDC的構造參數
void CODButtonImpl::DrawItem ( LPDRAWITEMSTRUCT lpdis )
{
?RECT rc = lpdis->rcItem;
?CDCHandle hdc = lpdis->hDC;
?CMemDC dc( lpdis->hDC, &rc,RGB(255,0,0));
? ....
}

(2)將CMemDC轉成換CDC(不轉也無所謂,凡正CMemDC沒有成員函數供你使用),然后用CDC的成員函數對m_hDC進行繪圖操作,注意你是在CDC類的m_hDC中繪圖。
??dc.SetPixel(CPoint(10,6),RGB(251,200,99));

WTL中CMemDC與CDC、CDCHandle的聯系


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 永宁县| 霍城县| 巴楚县| 鹤山市| 南宫市| 长寿区| 定远县| 临泽县| 滕州市| 延津县| 肃南| 石城县| 益阳市| 祁东县| 株洲县| 无锡市| 石棉县| 时尚| 博爱县| 仁布县| 广州市| 新田县| 柞水县| 英超| 酉阳| 宁陕县| 上饶市| 阳春市| 福安市| 聂拉木县| 满洲里市| 长沙县| 西和县| 廊坊市| 方山县| 长葛市| 平罗县| 社会| SHOW| 西青区| 夹江县|