在非cstatic的派生類中,由於進行圖形的繪製的話,我們需要對該類傳入乙個cdc以便於繪畫。這是因為非cstatic等控制項類無法自己產生onpaint這類的訊息,因此需要借傳入的cdc進行回執,然後回執在其他的記憶體上,最後達到繪圖的效果。
但是,在這裡面有乙個問題,當我們直接傳入cdc的時候,往往會造成乙個訪問私有成員變數的錯誤,如下:
void cbasedlg:: showloading(cdc desdc/*desdc*/ )
這個時候,往往會產生編譯錯誤,如下:
即使是我們將改變量的cdc改為公共變數,也依然不能夠編譯通過,那麼解決方法改如何呢??
方法就是利用指標,而非變數本身。將上述的藉口設計修改為:
void cbasedlg:: showloading(cdc *pdc/*desdc*/ )
以指標的方式進行呼叫和繪畫,就能夠通過。 學習筆記 MFC 中的CDC類
cdc類定義的是裝置上下文物件的類,有稱裝置環境物件類。cdc物件提供處理 顯示器或印表機等裝置上下文 的成員函式,以及處理與 視窗客戶區對應的顯示上下文 的成員.cdc類及其派生類也是mfc中的乙個大類,和繪圖相關。通過cdc物件的成員函式進行所有的繪圖。cdc類操控圖形大體分兩類,一類是 畫畫兒...
關於類成員函式在模板中的使用
實際工作中模板使用還比較多,而且使用類成員函式或者變數作為模板引數的情況是很多的,在這裡先小小舉個例子。非常簡單,但是在實際中確實非常常用,而且實用。我只是個測試類而已 class testclass double testfunc2 double val public int m testval ...
VB控制項在C 中的使用
第一步 在c 的工具條右擊,在右鍵選單上單擊 選擇項 選項,如下圖 第二步 在com元件中,選中所需的控制項即可 這點和vb中完全一樣 這時候,com控制項和c 控制項就一樣使用了。但是,vb中的一些特有的命令,如動態陣列和c 有很大不同,請參考如下 vb dim lngdata as long c...