实现方法是不同的。CreateObject是MS的方法。比如下面的代码:class CDemo2View : public CEditView
{
protected: // create from serialization only
CDemo2View();
DECLARE_DYNCREATE(CDemo2View) 注意它的构造函数是保护类型的,因此别的类无法访问。VC自动生成的注释代码说明为:只从序列化创建。就是说,只能用CreateObject的方法来创建一个新的对象。然后,可以调用它的Create函数以创建窗口。 感觉上似乎是为Frame/Doc/View这一框架结构设计的。具体实现你可以看看MFC源代码和MSDN。
噻,过了这么久,还以为你已经搞定了呢。你不是有MFC的源代码吗?有人拦着你不让你看吗?MFC的高级问题只有通过看它的源代码才能搞定。自己看看吧!别太懒了。