这里首先创建了一个cmultidoctemplate —— 文档模板,文档模板包括的三个运行时刻类信息:document – cmditestdoc, framewnd – cchildframe, view – cmditestview。
然后通过adddoctemplate函数将新创建的文档模板添加到模板管理器之中(我们以后再研究模板管理器)。
然后创建主框架窗口cmainframe:
|
cmainframe* pmainframe = new cmainframe; if (!pmainframe || !pmainframe->loadframe(idr_mainframe)) return false; |
其中,需要研究的是loadframe的实现,以及里面都做了些什么。我们稍后研究。
处理命令行,在这里第一个空文档被建立出来:
|
ccommandlineinfo cmdinfo; parsecommandline(cmdinfo); // 调度在命令行中指定的命令。如果用 /regserver、/register、/unregserver 或 /unregister 启动应用程序,则返回 false。 if (!processshellcommand(cmdinfo)) // ß 这里创建出初始空文档 return false; |
我们一会会重点研究processshellcommand。
最后,显示主窗口:
|
pmainframe->showwindow(m_ncmdshow); pmainframe->updatewindow(); |