VC中CDC與HDC的區別以及二者之間的轉換

來源:互聯網
上載者:User

標籤:使用   資料   div   代碼   on   window   sp   程式   

CDC是MFC的DC的一個類HDC是DC的控制代碼,API中的一個類似指標的資料類型.MFC類的首碼都是C開頭的H開頭的大多數是控制代碼這是為了助記,是編程讀\寫代碼的好的習慣.CDC中所有MFC的DC的基類.常用的CClientDC dc(this);就是CDC的子類(或稱衍生類別).CDC等裝置上下分類,都含有一個類的成員變數:m_nHdc;即HDC類型的控制代碼.記住下面的一句話,會有助於你的理解.MFC的類,是在用window API語句開發出來的有一定功能的小程式.(也可稱為類).使用它的預設方法,就是,記住它的名字與參數(可以用筆記,代替腦記).如果將window api比做組合語言那麼MFC就相當於Basic語言.

cdc是裝置描述表的基類,clientDC指代客戶區的裝置描述表,PaintDC只用於OnPaint()函數中

  HDC是WINDOWS的一種資料類型,是裝置描述控制代碼。而CDC是MFC裡的一個類,它封裝了幾乎所有的關於HDC的操作。也可以這樣說,HDC定義的變數指向一塊記憶體,這塊記憶體用來描述一個裝置的相關的內容,所以也可以認為HDC定義的是一個指標;而CDC類定義一個對象,這個對象擁有HDC定義的一個裝置描述表,同時也包含與HDC相關的操作的函數。這與HPEN和CPen,POINT與CPoint之間的差別是一樣的。 CDC 到HDC 的轉化:2007-05-09 12:04方法一: 此方法在裝置結束時不會銷毀原來的資源(即:hDC,hBitmap)CDC *pDC = CDC::FromHandle(hDC);CBitmap *pBitmap = CBitmap::FromHandle(hBitmap); 方法二: 此方法在裝置結束時會銷毀原來的資源(即:hDC,hBitmap)CDC dc;dc.Attach(hDC);CBitmap bit;bit.Attach(hBitmap); 在結束的時候加dc.detach()也不會銷毀原來資源 HDC hdc;CDC cdc;cdc到hdchdc = cdc.GetSafeHdc();hdc到cdccdc.Attach(hdc); 回複於 2004-04-08 17:46:03 得分 20 HDC hdc;CDC cdc;cdc到hdchdc = cdc.GetSafeHdc();hdc到cdccdc.Attach(hdc)  回複於 2004-04-08 17:49:14 得分 15 CDC 是MFC中的類而HDC是Handle使用HDC GetDC() 回複於 2004-04-08 17:51:49 得分 0 CDC cdc;HDC hDC = cdc.m_hDC 回複於 2004-04-08 17:54:20 得分 20 CDC dc;HDC hDC = dc.m_hDCdc.FromHandle(hDC); 回複於 2004-04-08 18:01:51 得分 10 CDC to hdc用成員變數m_hDChdc to CDC用FromHandle 回複於 2004-04-08 18:02:47 得分 10 dc.FromHandle(hDC)產生一個dc,但是是臨時的,mfc不保證系統在什麼時候刪除dc.dc.Attach(hDC)是永久的,直到這個dc的生命正常結束。 回複於 2004-04-08 18:05:21 得分 5 以上的都很對。你就尋找替換。將所有的(hdc,替換為pdc->(當然。前面聲明個pdc就可以了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.