// 用 /regserver、/register、/unregserver 或 /unregister 启动应用程序,则返回 false。
trace("before processshellcommand\n");
if (!processshellcommand(cmdinfo))
return false;
trace("before pmainframe->showwindow\n");
// 主窗口已初始化,因此显示它并对其进行更新
pmainframe->showwindow(m_ncmdshow);
trace("before pmainframe->updatewindow\n");
pmainframe->updatewindow();
return true;
}
为了研究整个创建过程,我在其中添加了一些trace来跟踪创建顺序。
忽略掉开始的乱七八糟的初始化,从cmultidoctemplate开始:
|
cmultidoctemplate* pdoctemplate = new cmultidoctemplate(idr_mditesttype, runtime_class(cmditestdoc), runtime_class(cchildframe), // 自定义 mdi 子框架 runtime_class(cmditestview)); adddoctemplate(pdoctemplate); (作了一点点简化) |