画面を常に最大化させるには? – プログラミング – Home

画面を常に最大化させるには?
 
通知
すべてクリア

[解決済] 画面を常に最大化させるには?


RYO
 RYO
(@RYO)
ゲスト
結合: 24年前
投稿: 252
Topic starter  

まだ始めて一ヶ月位なもので…
すごいレベルの低い問題かも知れませんが教えて下さい。

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

よろしくお願いします。


引用未解決
トピックタグ
Bun
 Bun
(@Bun)
ゲスト
結合: 24年前
投稿: 761
 

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

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

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

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


返信引用
Bun
 Bun
(@Bun)
ゲスト
結合: 24年前
投稿: 761
 

失礼、常にでしたね。
上記の処理とは別に

CMainFrame::PreCreateWindow()で

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

としてください。


返信引用
RYO
 RYO
(@RYO)
ゲスト
結合: 24年前
投稿: 252
 

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

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

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


返信引用
Bun
 Bun
(@Bun)
ゲスト
結合: 24年前
投稿: 761
 

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

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


返信引用
RYO
 RYO
(@RYO)
ゲスト
結合: 24年前
投稿: 252
Topic starter  

MainFrameかなんかで↑のm_pMainWndは変数宣言かなんかするんですか?
その場合変数のタイプはどうなるんでしょう?
更にアクセス制限は…?
すいません素人的な質問で…


返信引用
Bun
 Bun
(@Bun)
ゲスト
結合: 24年前
投稿: 761
 

開発環境を書くようにしましょう。

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
 RYO
(@RYO)
ゲスト
結合: 24年前
投稿: 252
 

ありがとうございました。
とりあえず、最大化は出来るようになったみたいです。
また機会があったら宜しくお願いします。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました