精品伊人久久大香线蕉,开心久久婷婷综合中文字幕,杏田冲梨,人妻无码aⅴ不卡中文字幕

打開APP
userphoto
未登錄

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

開通VIP
CClientDC?和?CDC?的區別

CClientDC 和 CDC 的區別

(2009-12-10 15:33:49)
標簽:

雜談

HDC是Windows的一種數據類型,是設備描述句柄;

CDC是MFC封裝的Windows 設備相關的一個類;

CClientDC是CDC的衍生類,產生對應于Windows客戶區的對象,在構造的時候調用GetDC,在析構的時候調用ReleaseDC;

CWindowDC也是CDC的衍生類,在構造的時候調用GetWindowDC,在析構時調用ReleaseDC,可訪問CWnd的整個屏幕,包括客戶去和非客戶區。


 

以畫線為例,上面幾種DC的使用代碼如下:

 

HDC hDC;
 hDC =
::GetDC(m_hWnd);
 MoveToEx(hDC,m_ptOrigin.x,m_ptOrigin.y,NULL);
 LineTo(hDC,point.x,point.y);
 
::ReleaseDC(m_hWnd,hDC);

 

 

 CDC * pDC = GetDC();
 pDC->MoveTo(m_ptOrigin);
 pDC->LineTo(point);
 ReleaseDC(pDC);

 

 CClientDC dc(this);
 CClientDC dc(GetParent());
 dc.MoveTo(m_ptOrigin);
 dc.LineTo(point);


 //CWindowDC dc(this);//this代表只能在view區域繪畫
 //CWindowDC dc(GetParent());//在整個frame區域繪畫
 CWindowDC dc(GetDesktopWindow());//可在整個桌面區域繪畫
 dc.MoveTo(m_ptOrigin);
 dc.LineTo(point);

-------

CDC是Windows繪圖設備的基類
CClientDC:
(1)(客戶區設備上下文)用于客戶區的輸出,與特定窗口關聯,可以讓開發者訪問目標窗口中客戶區,其構造函數中包含了GetDC,析構函數中包含了ReleaseDC


CPaintDC:
(1)用于響應窗口重繪消息(WM_PAINT)是的繪圖輸出。
(2)CPaintDC在構造函數中調用BeginPaint()取得設備上下文,在析構函數中調用EndPaint()釋放設備上下文。EndPaint()除了釋放設備上下文外,還負責從消息隊列中清除WM_PAINT消息。因此,在處理窗口重畫時,必須使用CPaintDC,否則WM_PAINT消息無法從消息隊列中清除,將引起不斷的窗口重畫。
(3)CPaintDC也只能用在WM_PAINT消息處理之中。


CWindowDC:
(1)可在非客戶區繪制圖形,而CClientDC,CPaintDC只能在客戶區繪制圖形。
(2)坐標原點是在屏幕的左上角,CClientDC,CPaintDC下坐標原點是在客戶區的左上角。
(3)關聯一特定窗口,允許開發者在目標窗口的任何一部分進行繪圖,包含邊界與標題,這種DC同WM_NCPAINT消息一起發送

說明:在繪圖時推薦使用CClientDC,CPaintDC和CWindowDC對象,而不推薦直接使用CDC對象。

實例:
CClientDC *pDC = new CClientDC(this);

CWindowDC dc(this); 

 

本站僅提供存儲服務,所有內容均由用戶發布,如發現有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
VC中CDC與HDC的區別以及二者之間的轉換
使用CDC的四個派生類CClientDC,CPaintDC,CWindowDC,CMetaFileD
CWnd,HWnd,CDC,HDC的關系
VC繪圖初步
windows下獲得DC句柄的幾個方法
CDC、CClientDC、CWindowDC、CMetaFileDC、CPaintDC
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服

主站蜘蛛池模板: 仪陇县| 扶余县| 涡阳县| 绥棱县| 汤原县| 宿州市| 兴山县| 慈溪市| 廉江市| 高雄市| 河池市| 阿克苏市| 崇仁县| 炉霍县| 屏东县| 杭锦旗| 凤阳县| 九江县| 新野县| 东方市| 望谟县| 沙雅县| 温宿县| 清远市| 衡东县| 蓝山县| 浠水县| 资兴市| 蒙阴县| 浦城县| 拜泉县| 太原市| 伊宁县| 南昌市| 宁陕县| 呈贡县| 万州区| 乳山市| 财经| 屏东县| 萨迦县|