VC中如何派生CWnd的子類?

2021-08-22 06:59:44 字數 580 閱讀 7461

之前寫的文字有些簡單,這裡我再把問題講的詳細一點:

在vc++環境下,要從mfc類中再派生出自己的類,可以使用classwizard嚮導來幫助完成。比如我們可以派生出ctreectrl的乙個子類,來實現自己的樹型控制項。但是並不是mfc的每乙個類都可以在classwizard中找到,比如csplitterwnd類。要實現從這樣乙個類再派生出自己的類,可以按照c++的語法規則手動書寫**,但是這樣的話就不能方便地使用classwizard來新增類的訊息相應和虛函式覆蓋等內容。所以這裡介紹另外乙個方法:在newclass對話方塊的classtype中選擇mfc class,在base class中選擇generic cwnd,進行派生,然後再手動將新加類的基類改為你需要的cwnd的子類,比如:

首先這樣派生:class cusefulsplitterwnd : public cwnd

然後手動修改為:class cusefulsplitterwnd : public csplitterwnd

當然,手動修改的地方可能不止一處。

其他的mfc類也可以如法炮製:)

cwnd,

mfc class,

vc,

派生

VC中通用對話方塊的子類化

mfc中包含了幾個windows通用對話方塊設計的封裝類。比如,在cfiledialog裡可以利用常用的cdialog成員函式domodal 函式操縱通用檔案對話方塊。為了從cfiledialog這樣的公共對話方塊類派生出程式設計師自己的子類,傳統方法需要建立乙個 子對話方塊模板 然後將模板關聯於派...

C 中派生類(子類)的訪問控制

include using namespace std class people 類的內部檢驗繼承訪問許可權 繼承方式 私有private class student private people class student protected people 繼承方式 保護protected cla...

VC中如何使用GDI

gdi 是什麼?vc中如何使用?建立乙個mfc工程,將以下 放到stdafx.h中 pragma comment lib,gdiplus.lib 注意,要保證vc路徑的lib中,能夠找到這個檔案 define ulong ptr ulong include using namespace gdipl...