常用mfc進行程式設計的人都知道單文件的程式設計,在程式設計過程中發現欲使程式在啟動時就能最大化顯示,這裡的處理方法有多種,但是結果卻不一樣。
首先大家最常用的就是在view類的precreatewindow函式中,修改視窗型別cs的值,也就是或上乙個「最大化」即:
[cpp]view plain
copy
cs.style |= ws_maximize;
[cpp]view plain
copy
m_pmainwnd->showwindow(sw_show); 為
[cpp]view plain
copy
m_pmainwnd->showwindow(sw_showmaximized);
這兩種方法都可以達到最大化的目的,但是你會發現,當程式執行時,視窗有乙個從普通視窗到最大化視窗的過程,看起來很醜,這是視窗的重畫造成的。
[cpp]view plain
copy
// parse command line for standard shell commands, dde, file open
ccommandlineinfo cmdinfo;
parsecommandline(cmdinfo);
// dispatch commands specified on the command line
if(!processshellcommand(cmdinfo))
return
false;
// the one and only window has been initialized, so show and update it.
m_pmainwnd->showwindow(sw_show);
m_pmainwnd->updatewindow();
通常我們改的就是上面的倒數第二行**,那麼也就是在這行**之前程式已經產生了乙個視窗。於是在這個視窗產生前,把它「消滅」掉豈不正好。
繼續跟蹤,發現也就是上面提到的**中的processshellcommand(cmdinfo)這一句**在搞鬼,所以可做如下修改:
1.在 processshellcommand(cmdinfo)之前,加一句
[cpp]view plain
copy
m_ncmdshow = sw_showmaximized;
2.把m_pmainwnd->showwindow(sw_show);修改為
[cpp]view plain
copy
m_pmainwnd->showwindow(sw_showmaximized);
這樣視窗一下子就最大化,不會再有原來的問題了!
MFC視窗啟動最大化
常用mfc進行程式設計的人都知道單文件的程式設計,在程式設計過程中發現欲使程式在啟動時就能最大化顯示,這裡的處理方法有多種,但是結果卻不一樣。cs.style ws maximize m pmainwnd showwindow sw show 為 m pmainwnd showwindow sw s...
視窗最大化
1 jframe 視窗最大化,在建構函式中 新增如下 this.setextendedstate jframe.maximized both 2 jinternalframe視窗最大化,需要在新增到jframe的desktoppane之後設定,如下 bookframe.setmaximum true...
如何使視窗啟動最大化?
1.如何使子視窗啟動時最大化?view.cpp中的 onupdate 函式中加入 子視窗啟動就最大化 this getparentframe showwindow sw showmaximized 2.如何使程式執行時最大化?的 initinstace 中令 pmainframe showwindo...