よろしくお願いします。
<環境>WIN98 VC++6.0 MFCにて
MDIにて作成し実行すると、子ウィンドウが1つ開きますが、子ウィンドウのサイズを親ウィン
ドウにジャストフィットした状態(要は最大化状態)で開くようにするにはどのようにすれば良
いですか?
ご存知の方、よろしくお願いします。
よろしくお願いします。 <環境>WIN98 VC++6.0 MFCにて
MDIにて作成し実行すると、通常は子ウィンドウが1つ開きますが、
開く子ウィンドウを2つにするにはどのようにすれば良いですか?
ご存知の方、よろしくお願いします。
すみません。上記の質問は誤りです。
CxxApp:InitInstance()の
pMainFrame->ShowWindow(m_nCmdShow);
の手前で、
pMainFrame->MDIMaximize(pMainFrame->MDIGetActive(NULL));
でどうでしょうか。
Wandererさん 回答ありがとうございます。
うまく行きました。
別途教えていただいた、”実行時に子ウィンドウを2つ開く”と併用すると2つのウインドウが
ともに最大化状態になってしまいます。
実は、1つ目のウィンドウは最大化で、2つ目のウィンドウは、例えば幅が最大化の半分という
ように大きさを任意に変えたいのでのですが。
また、子ウィンドウを3つにするには、
pMainFrame->PostMessage(WM_COMMAND, ID_FILE_NEW);を
2個記述するというやり方で良いのでしょうか?
(試してみたら実現できましたが、もっと別の方法もあるのかもと思いまして・・・)
以上2点につき、教えていただきたいです。
>実は、1つ目のウィンドウは最大化で、2つ目のウィンドウは、例えば幅が
>最大化の半分というように大きさを任意に変えたいのでのですが。
これは、最大化された1つ目のウインドウの上に2つ目のウインドウがある
ということなのでしょうか?(でなければ見えないですものね)
MSDNのCMDIFrameWnd::MDIMaximize()の説明では、
>現在アクティブな MDI 子ウィンドウが最大表示されているときに、他の MDI
>子ウィンドウがアクティブとなると、Windows は現在アクティブな子ウィンド
>ウを元に戻し、新しくアクティブとなる子ウィンドウを最大表示します。
ということなので、普通にはちょっと無理っぽいですね。ただ出来たとしても、
MDI子ウインドウ用のアイコン化・最大化・閉じるのボタンが、最大化した1つ
目用と、通常状態の2つ目用とが同時に表示されるようになって紛らわしいよ
うにも思うのですが・・・
>また、子ウィンドウを3つにするには
>pMainFrame->PostMessage(WM_COMMAND, ID_FILE_NEW);を
>2個記述するというやり方で良いのでしょうか?
別のスレッドでも申したようにこれはメニューの「ファイル」-「新規作成」
を選んだのと同じですから、これで構わないと思いますよ。
ただ、もちろん他にもやり方はあるでしょうから、その中から最も仕様に合う
と思われる手段をお選びください。
回答ありがとうございます。
今後ともよろしくお願いします。