例如有類class A{int a;char b;};還有函數 f( A * x , int y);f()函數是CView的成員函數(因為我要在OnDraw中調用)我應該如何添加呀?我添加一個新的××.h文件,把#include"××.h"放在哪都不好使呀!
2 回答

慕哥6287543
TA貢獻1831條經驗 獲得超10個贊
Ctrl+W 打開類向導,在這里可以增加新的類。它會自動添加類的頭文件。樓上的方法是在類中自動加成員變量,成員函數,消息響應函數。
類的定義放在哪與在哪繪圖無關,想要在OnDraw中繪圖,是為了在那建立消息響應函數,可以簡化代碼。實際上在CView與FrameView上繪圖區別不大,只是繪圖時用this指針時要注意范圍,一個不包含工具欄,一個包含工具欄。它們的基類都是CWnd,也就是說它們都有處理默認窗口消息的過程函數,如果你用CClientDC的話,兩者沒什么區別,當然如果用this指針的話會有范圍上的區別。因此在一般都在CView中增加消息響應函數,以簡化代碼。
如果你不求簡化代碼的話,可以不在OnDraw中錄入代碼,自已建一個消息響應函數(如:鼠標左鍵按下,釋放,移動。。。。)。也就是用類向導,或者樓上兩位說的方法。View::OnDraw()函數響應的是WM_PAINT消息,且集成了CDC設備環境,CDC的構造,析構函數因集成,而被簡化掉了。減小了代碼的錄入。
- 2 回答
- 0 關注
- 1227 瀏覽
添加回答
舉報
0/150
提交
取消