multiple levels of derivation using ClassWizard
Uma Shankar -- Uma_Shankar@countrywide.com Tuesday, May 21, 1996 Env: VC++ 4.1 , NT 3.51 hi all, I got a class QParentWnd which is derived from CWnd. I got to derive two more classes from QParentWnd. Is it possible to derive from this class using classwizard? What are the steps needed to ensure that 'QParentWnd' appears in the base class field of 'Create New Class' Dialog? www.microsoft.com/kb/faq/devtools/vc/mfc/faq1684.html talks about this question, but it is not mentioning the steps needed to do multile levels of derivation. Thanks Shanky
David W. Gillett -- DGILLETT@expertedge.com Tuesday, May 28, 1996 On 21 May 96 at 16:44, Uma Shankar wrote: > Env: VC++ 4.1 , NT 3.51 Thanks. > I got a class QParentWnd which is derived from CWnd. I got to > derive two more classes from QParentWnd. Is it possible to derive > from this class using classwizard? What are the steps needed to > ensure that 'QParentWnd' appears in the base class field of 'Create > New Class' Dialog? > > www.microsoft.com/kb/faq/devtools/vc/mfc/faq1684.html talks about > this question, but it is not mentioning the steps needed to do > multile levels of derivation. Although ClassWizard helped you derive QParentWnd from CWnd, this does not add QParentWnd to ClassWizard's "database of clsses I know how to derive from". So ClassWizard can be of only limited help in deriving classes from QParentWnd. But every class derived from QParentWnd is also derived from CWnd, which ClassWizard *does* know about. So you can use ClassWizard to define new derivatives from CWnd, and then edit the .H and .CPP files to reflect inheritance from QParentWnd instead. I believe there are actually only 4 places where you may need to change the name of the base class: 1. At the top of the class declaration in the .H file. 2. In the IMPLEMENT_DYNCREATE macro at the top of the .CPP file, if present. [If not present, there may be some other macro here you need to change.] 3. In the BEGIN_MESSAGE_MAP macro, near the top of the .CPP file. 4. In the header of the class constructor, which *may* pass parameters to the base class constructor. ClassWizard won't help you instantiate/override in your derived classes methods you introduce in QParentWnd -- you'll have to do that by hand. Dave
| Вернуться в корень Архива |