免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
CWnd,HWnd,CDC,HDC的關(guān)系

雖然Gilbert之前介紹過(guò)CWnd和HWnd的區(qū)別, 但是這里和其他幾個(gè)CDC, HDC放在一起重申一下其中的區(qū)別和關(guān)系.

1.對(duì)象和句柄

CWnd是類, HWnd是句柄, CWnd封裝了HWnd

CWnd wnd;

HWnd hWnd;

wnd.Attach(hWnd);//句柄到對(duì)象

    wnd->m_hWnd;// 對(duì)象到句柄

當(dāng)然一般在程序中是這樣獲得句柄:

AfxGetMainWnd()->m_hwnd;

同樣的, CDC和HDC也是這樣的關(guān)系:

CDC *pDC=new CDC;

HDC hdc;

pDC->GetSafeHdc();//通過(guò)對(duì)象獲得句柄:

pDC->Attach(hdc); //通過(guò)句柄獲得對(duì)象:


HWND是SDK定義的類型,是一個(gè)無(wú)確切意義的32-bit值,在調(diào)用API時(shí)用于指代窗體。 
CWnd*是一個(gè)有確切意義的指針,指向一個(gè)MFC窗體類CWnd的實(shí)例。因?yàn)镸FC對(duì)SDK做了封裝,大部分調(diào)用都可以用CWnd*作為參數(shù),所以很容易混淆。從一個(gè)CWnd*獲取句柄的方法是pWnd->GetSafeHwnd(),他比 pWnd->m_hWnd安全,因?yàn)榍罢咴趐Wnd == NULL的時(shí)候返回NULL而后者出現(xiàn)access violation.

2. CWnd和CDC, hwnd和hdc

所有跟窗口相關(guān)的操作都被封裝在CWnd類中; 所有跟繪圖相關(guān)的操作都被封裝在CDC類中.

hwnd句柄是描述一個(gè)窗口的形狀、位置、大小、是否顯示、它的父窗口、兄弟窗口、等等的一組數(shù)據(jù)結(jié)構(gòu);hdc句柄是一個(gè)實(shí)實(shí)在在的用于具體表現(xiàn)這個(gè)窗口時(shí),需要對(duì)這個(gè)窗口有個(gè)場(chǎng)合來(lái)實(shí)現(xiàn)的地方。  

3. 使用不同的CDC繪圖

CClientDC      客戶區(qū)dc;

CWindowDC      整窗口dc;    

CDC            任何dc;

/*
  CDC *pDC=CWnd::GetDC();
  //此處直接使用CWnd類的GetDC,其返回值為CDC*
  //SDK中的同名函數(shù)使用返回的是HDC

*/
  pDC->MoveTo(m_ptOrigin);
  pDC->LineTo(point);
  CWnd::ReleaseDC(pDC);
  


  /*//使用CClientDC繪圖
  CClientDC派生自CDC,在構(gòu)造的時(shí)候調(diào)用GetDC,
  在析構(gòu)的時(shí)候調(diào)用ReleaseDC。使得我們不必
  顯示調(diào)用GetDC與ReleaseDC。
  */
  CClientDC dc(this);
  dc.MoveTo(m_ptOrigin);
  dc.LineTo(point);

/*//使用CWindowDC繪圖
  同樣派生自CDC,構(gòu)造調(diào)用GetWindowDC,

析構(gòu)時(shí)調(diào)用ReleaseDC()。
  可以訪問(wèn)整個(gè)屏幕區(qū)域,包括客戶區(qū)和非客戶區(qū)。
  */
  CWindowDC dc(this);
  dc.MoveTo(m_ptOrigin);
  dc.LineTo(point);

所有知識(shí)來(lái)自于互聯(lián)網(wǎng).

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
VC中CDC與HDC的區(qū)別以及二者之間的轉(zhuǎn)換
hWnd,hDC,CDC有什么區(qū)別
windows下獲得DC句柄的幾個(gè)方法
MFC繪圖總結(jié)(2):客戶區(qū)大小和DC | 求索閣
DC
DC,CDC,HDC,CClientDC....有什么本質(zhì)的區(qū)別
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服