cdc類定義的是裝置上下文物件的類,有稱裝置環境物件類。cdc物件提供處理
顯示器或印表機等裝置上下文
的成員函式,以及處理與
視窗客戶區對應的顯示上下文
的成員.
cdc類及其派生類也是mfc中的乙個大類,和繪圖相關。
通過cdc物件的成員函式進行所有的繪圖。
cdc類操控圖形大體分兩類,一類是「畫畫兒」,另乙個是「貼圖」。前者好比你拿著畫筆、畫刷自己描線、塗染料,後者則是用現成的畫兒通過貼、拼來完成畫作。
cdc類最為常用的幾個子類是:cpaintdc類,cclientdc類,cwindowdc類。
cclientdc,cpaintdc的區別:cpaintdc的物件一般用在onpaint內以響應windows訊息wm_paint,自動完成繪製,在整個視窗內進行重畫,維持原有視窗完整性。cclientdc應用在非響應windows訊息wm_paint的情況下,進行實時繪製,繪製的區域內被重畫。
cwindowdc與cclientdc,cpaintdc的區別:cwindowdc可在非客戶區繪製圖形,而cclientdc,cpaintdc只能在客戶區繪製圖形。cwindowdc下座標原點是在螢幕的左上角,cclientdc,cpaintdc下座標原點是在客戶區的左上角。 舉乙個位圖貼圖的例子。
新建乙個基於對話方塊的mfc程式,在資源編輯器中插入乙個位圖資源,id號為idb_bitmap1,在對話方塊類的onpaint()處理函式中加入:
void cxxdialog::onpaint()
在MFC中用CDC類畫2個同心圓
cdc pdc 建立cdc物件指標 pdc getdc 初始化pdc cpen greenpen ps solid,1,rgb 0,255,0 poldpen 建立個綠色畫筆,ps solid為線型別,1位線寬,poldpen儲存原畫筆 poldpen pdc selectobject greenp...
關於CDC在非控制項類中的使用
在非cstatic的派生類中,由於進行圖形的繪製的話,我們需要對該類傳入乙個cdc以便於繪畫。這是因為非cstatic等控制項類無法自己產生onpaint這類的訊息,因此需要借傳入的cdc進行回執,然後回執在其他的記憶體上,最後達到繪圖的效果。但是,在這裡面有乙個問題,當我們直接傳入cdc的時候,往...
MFC學習筆記( )
選單響應順序 view類 文件類 框架類 應用程式類 訊息分類 標準訊息 除wm command之外,所有以wm 開頭的訊息。從cwnd派生的類,都可以接收到這類訊息。命令訊息 來自選單 加速鍵或工具欄按鈕的訊息。這類訊息都以wm command呈現。在mfc中,通過選單項的標識 id 來區分不同的...