MDIにおける子ウィンドウのサイズについて – プログラミング – Home

MDIにおける子ウィンドウのサイズにつ...
 
通知
すべてクリア

[解決済] MDIにおける子ウィンドウのサイズについて


MK
 MK
(@MK)
ゲスト
結合: 25年前
投稿: 66
Topic starter  

よろしくお願いします。
<環境>WIN98 VC++6.0 MFCにて

MDIにて作成し実行すると、子ウィンドウが1つ開きますが、子ウィンドウのサイズを親ウィン
ドウにジャストフィットした状態(要は最大化状態)で開くようにするにはどのようにすれば良
いですか?

ご存知の方、よろしくお願いします。


引用未解決
トピックタグ
MK
 MK
(@MK)
ゲスト
結合: 25年前
投稿: 66
Topic starter  

よろしくお願いします。  <環境>WIN98 VC++6.0 MFCにて

MDIにて作成し実行すると、通常は子ウィンドウが1つ開きますが、

開く子ウィンドウを2つにするにはどのようにすれば良いですか?

ご存知の方、よろしくお願いします。


返信引用
MK
 MK
(@MK)
ゲスト
結合: 25年前
投稿: 66
Topic starter  

すみません。上記の質問は誤りです。


返信引用
Wanderer
 Wanderer
(@Wanderer)
ゲスト
結合: 22年前
投稿: 35
 

CxxApp:InitInstance()の
pMainFrame->ShowWindow(m_nCmdShow);
の手前で、

pMainFrame->MDIMaximize(pMainFrame->MDIGetActive(NULL));

でどうでしょうか。


返信引用
MK
 MK
(@MK)
ゲスト
結合: 25年前
投稿: 66
Topic starter  

Wandererさん 回答ありがとうございます。

うまく行きました。

別途教えていただいた、”実行時に子ウィンドウを2つ開く”と併用すると2つのウインドウが
ともに最大化状態になってしまいます。

実は、1つ目のウィンドウは最大化で、2つ目のウィンドウは、例えば幅が最大化の半分という
ように大きさを任意に変えたいのでのですが。

また、子ウィンドウを3つにするには、
pMainFrame->PostMessage(WM_COMMAND, ID_FILE_NEW);を
2個記述するというやり方で良いのでしょうか?
(試してみたら実現できましたが、もっと別の方法もあるのかもと思いまして・・・)

以上2点につき、教えていただきたいです。


返信引用
Wanderer
 Wanderer
(@Wanderer)
ゲスト
結合: 22年前
投稿: 35
 

>実は、1つ目のウィンドウは最大化で、2つ目のウィンドウは、例えば幅が
>最大化の半分というように大きさを任意に変えたいのでのですが。

これは、最大化された1つ目のウインドウの上に2つ目のウインドウがある
ということなのでしょうか?(でなければ見えないですものね)

MSDNのCMDIFrameWnd::MDIMaximize()の説明では、

>現在アクティブな MDI 子ウィンドウが最大表示されているときに、他の MDI
>子ウィンドウがアクティブとなると、Windows は現在アクティブな子ウィンド
>ウを元に戻し、新しくアクティブとなる子ウィンドウを最大表示します。

ということなので、普通にはちょっと無理っぽいですね。ただ出来たとしても、
MDI子ウインドウ用のアイコン化・最大化・閉じるのボタンが、最大化した1つ
目用と、通常状態の2つ目用とが同時に表示されるようになって紛らわしいよ
うにも思うのですが・・・

>また、子ウィンドウを3つにするには
>pMainFrame->PostMessage(WM_COMMAND, ID_FILE_NEW);を
>2個記述するというやり方で良いのでしょうか?

別のスレッドでも申したようにこれはメニューの「ファイル」-「新規作成」
を選んだのと同じですから、これで構わないと思いますよ。
ただ、もちろん他にもやり方はあるでしょうから、その中から最も仕様に合う
と思われる手段をお選びください。


返信引用
MK
 MK
(@MK)
ゲスト
結合: 25年前
投稿: 66
Topic starter  

回答ありがとうございます。
今後ともよろしくお願いします。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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