アプリ版:「スタンプのみでお礼する」機能のリリースについて

VB6でMDIフォームを使用しています。

MDIフォームで下記プログラムを作成しました。
(1)ツールバー上のボタン1を押し、子フォームAを表示させました。
  ※子フォームAの WindowState を「2-最大化」に事前設定し、ウィンドウは最大化して表示されました。
(2)子フォームAを表示した状態で、同じツールバー上にあるボタン2を押し、子フォームB(ダイアログ)を表示させました。
  ※子フォームBの WindowState を「0-標準」、BorderStyleを「3-固定ダイアログ」に事前設定し、表示されました。(一般的なオプション画面みたいなもの)

問題点はその際、子フォームAのウィンドウが勝手に「最大化」から「標準」に変わってしまうことです。

これを回避する方法はないのでしょうか?

以上、宜しくお願いいたします。

A 回答 (1件)

ん~ どうも仕様のように思えます …



子フォームAのActivateイベントに

if WindowState <> vbMaximized then
  WindowState = vbMaxmized
end if
を記述して回避してみてはいかがでしょう

子フォームAがアクティブになったとき 最大化のアニメーションが起きてしまいますが …

別の方法として 子フォームBを MDIClientとしてでは無くすかです
この場合 子フォームBのLoadイベントなどで 位置や大きさを変更してやる必要があるでしょう
また 子フォームで無くなると デスクトップ上のどの位置にも移動できるので
その点の制御も必要ならすべきことになります
    • good
    • 0
この回答へのお礼

どうも仕様みたいですね...

>別の方法として 子フォームBを MDIClientとしてでは無くすかです

MDIChild を False で対応してみます。

有り難う御座いました!

お礼日時:2010/09/11 13:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!