MFC中,文档类初始化onnewDocument与构造函数初始化区别
构造函数的时候只是创建了一个实例,成员变量只是进行了默认值设置;OnNewDocument才是真正创建文档类中具体的变量对象的
举个容易懂的相似的例子,窗口类基本就是封装对窗口句柄m_hWnd的各种处理方法的。那么在窗口类的构造函数里,m_hWnd只是默认设置为0,实际这时候窗体句柄还不存在;而在对话框的OnInitDialog或者视图类的OnInitUpdate等事件中,才真正创建m_hWnd这个窗体对象,窗口才真正创建出来。
文档类也是类似。MFC只是对WIN32的C++对象进行了类封装,构造函数只是创建外包装,具体的创建函数才是内部对象的构建
如果用户在 SDI 应用程序中选择 File New 命令,则框架使用此功能重新初始化现有文档,而不是创建一个新文档。 https://docs.microsoft.com/en-us/cpp/mfc/reference/cdocument-class?view=msvc-160#onnewdocument
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps: 问答会员年卡【8折】购 ,限时加赠IT实体书,即可 享受50次 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m