まだ始めて一ヶ月位なもので…
すごいレベルの低い問題かも知れませんが教えて下さい。
CMainFrameクラスのPreCreateWindowメンバ関数にてウインドウの高さや幅を調節出来るではないですか。
自分は、どのディスプレイの大きさに関わらずウィンドウが最大化されて表示されるという事をやりたいのです。
最初は、cs.styleにてWS_MAXIMIZEと書いてやってみたのですが、ビルドは通るのに実行しても最大化されません。
どうか、分かりましたらその辺を教えて下さい。
よろしくお願いします。
> 最初は、cs.styleにてWS_MAXIMIZEと書いてやってみたのですが、ビルドは通るのに実行しても最大化されません。
よー動かん場合って、ありますよね。
AppクラスのInitInstance()で次の処理を入れてはどー?
// m_pMainWnd->ShowWindow(SW_SHOW); コメントにする
m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED); // 追加
失礼、常にでしたね。
上記の処理とは別に
CMainFrame::PreCreateWindow()で
cs.style = WS_OVERLAPPED | WS_CAPTION | FWS_ADDTOTITLE
| WS_SYSMENU | WS_MAXIMIZE;
としてください。
早速お返事いただきまして、ありがとうございます。
それで、今やってみたのですが、確かに大きくなったものの、最大化までとはいきません。
cs.cxや、cs.cy、cs.x、cs.y等にも問題があるのですかねぇ…
なんで、最大化にならないんだろう??
理論上はあっていると思われるんですが…
申し訳ございませんが、更にアドバイスがありましたら教えて下さい。
よろしくおねがいします。
m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED); // 追加
でも最大化になりません?
MainFrameかなんかで↑のm_pMainWndは変数宣言かなんかするんですか?
その場合変数のタイプはどうなるんでしょう?
更にアクセス制限は…?
すいません素人的な質問で…
開発環境を書くようにしましょう。
MFCのMDIでしょうか?SDIでしょうか?
MDIの場合、hogeというプロジェクト名であれば
ChogeApp::InitInstance()の終わりのあたりで
pMainFrame->ShowWindow(SW_SHOWMAXIMIZED);
pMainFrame->UpdateWindow();
とすれば良いし、SDIの場合には
m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED);
m_pMainWnd->UpdateWindow();
とすれば良いでしょう。
m_pMainWndは
CWinThread::m_pMainWndでメンバとして定義されています。アクセス制限はこちらのHelpを読みましょう。
ありがとうございました。
とりあえず、最大化は出来るようになったみたいです。
また機会があったら宜しくお願いします。