doc_view结构中让窗口一开始就最大化探讨
作者:enoloo 【相关文章:从食客到大厨】 【扩展阅读:长命百岁和死而复生】 【扩展信息:硬盘改变位置之后重新安装GRUB以及修改】一般的做法是在 c**app::initinstance()中,修改成这样:
{ //... m_pmainwnd->showwindow(sw_showmaximized); m_pmainwnd->updatewindow(); //... } 或者,还在 cmainframe::precreatewindow(createstruct& cs)中,添加: { //... cs.style |= ws_maximize; //... }这种做法能产生窗口最大化,但效果是显示的时候窗口从普通大小"闪"到最大化。还有的做法,是先将窗口隐藏,然后再最大化。那么怎样使窗口正常一开始出现就最大化?看看下面的流程,从 c**app::initinstance()中的processshellcommand(...)开始:
{ //... //processshellcommand中第一次显示了窗口 if (!processshellcommand(cmdinfo)) return false; m_pmainwnd->showwindow(sw_showmaximized); m_pmainwnd->updatewindow(); //... } ->cwinapp::processshellcommand ->afxgetapp()->oncmdmsg(id_file_new, 0, null, null) //如果你自己处理了id_file_new要调用cwinapp::onfilenew() ->cwinapp::onfilenew() ->cdocmanager::onfilenew() ->csingledoctemplate::opendocumentfile //当前文档模板初始化 ... 下一页