Protected Constructors with Declare Dyncreate (Why?)
rwagner -- rwagner@genre.com
Monday, June 10, 1996
Why are protected constructors and destructors generated by the Class Wizard
when I derive a class from CTreeview?
I'm finding this strange in a development environment where visual and
non-visual objects intermix...
The environment is Visual C++ 4.1/MFC under Win '95.
Cheers,
Rob
Erik Funkenbusch -- chucks@isd.net
Monday, June 10, 1996
[Mini-digest: 2 responses]
> From: rwagner
> Subject: Protected Constructors with Declare Dyncreate (Why?)
> Why are protected constructors and destructors generated by the Class
Wizard
> when I derive a class from CTreeview?
Any view class is normally instantiated by the framework via a document
template.
I say normally, because there are instances when you want to do it
yourself, but
for the vast majority of people this is rare. Protected constructors are
just one
way that MFC uses to make sure people are not trying to do something they
really don't want to do.
If you've thought through your design and decide you need to instantiate
your
own view, then you can simply change the header to make the constructor
public.
-----From: Roger Onslow/Newcastle/Computer Systems Australia/AU
>Why are protected constructors and destructors generated by the Class Wizard
>when I derive a class from CTreeview?
>
>I'm finding this strange in a development environment where visual and
>non-visual objects intermix...
View are created by CFrameWnd::CreateView() by calling
CView::CreateObject() (part of serialization support). They
don't have must meaning outside the doc/frame/view
model.
It does not make sense to construct a view that is not "visual".
Surely a non-visual view would have no purpose!!
Perhaps you really want a CTreeCtrl rather than a
view??
Roger Onslow
| Вернуться в корень Архива
|