画面を常に最大化させるには?

[戻る]
RYO 2001/08/28(火) 10:55:27
まだ始めて一ヶ月位なもので…
すごいレベルの低い問題かも知れませんが教えて下さい。

CMainFrameクラスのPreCreateWindowメンバ関数にてウインドウの高さや幅を調節出来るではないですか。
自分は、どのディスプレイの大きさに関わらずウィンドウが最大化されて表示されるという事をやりたいのです。
最初は、cs.styleにてWS_MAXIMIZEと書いてやってみたのですが、ビルドは通るのに実行しても最大化されません。
どうか、分かりましたらその辺を教えて下さい。

よろしくお願いします。

Bun 2001/08/28(火) 11:15:33
> 最初は、cs.styleにてWS_MAXIMIZEと書いてやってみたのですが、ビルドは通るのに実行しても最大化されません。
よー動かん場合って、ありますよね。

AppクラスのInitInstance()で次の処理を入れてはどー?

// m_pMainWnd->ShowWindow(SW_SHOW); コメントにする

m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED); // 追加

Bun 2001/08/28(火) 11:25:50
失礼、常にでしたね。
上記の処理とは別に

CMainFrame::PreCreateWindow()で

cs.style = WS_OVERLAPPED | WS_CAPTION | FWS_ADDTOTITLE
 | WS_SYSMENU | WS_MAXIMIZE;

としてください。

RYO 2001/08/28(火) 11:48:32
早速お返事いただきまして、ありがとうございます。
それで、今やってみたのですが、確かに大きくなったものの、最大化までとはいきません。
cs.cxや、cs.cy、cs.x、cs.y等にも問題があるのですかねぇ…

なんで、最大化にならないんだろう??
理論上はあっていると思われるんですが…

申し訳ございませんが、更にアドバイスがありましたら教えて下さい。
よろしくおねがいします。

Bun 2001/08/28(火) 13:16:22
m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED); // 追加

でも最大化になりません?

RYO 2001/08/28(火) 15:19:55
MainFrameかなんかで↑のm_pMainWndは変数宣言かなんかするんですか?
その場合変数のタイプはどうなるんでしょう?
更にアクセス制限は…?
すいません素人的な質問で…

Bun 2001/08/28(火) 15:38:00
開発環境を書くようにしましょう。

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を読みましょう。

RYO 2001/08/28(火) 15:48:29
[[解決]]
ありがとうございました。
とりあえず、最大化は出来るようになったみたいです。
また機会があったら宜しくお願いします。

古いスレッドには追加発言できません。