- ベストアンサー
Access メインフォーム最大時のサブフォームの大きさ
アクセス2000です メインフォーム「A」とサブフォーム「B」があって、「B」のフォームはダイアログスタイルとして大きさの変更ができなくしてあります。 「A]のフォームの大きさが最大化されてない状態で「B]をVisble=True にすると、デザインされたとうりの大きさで表示されます。 しかし、「A]のフォームを最大化した状態で「B]を表示させるとダイアログ設定なのにこれも画面いっぱいの大きさで現れ、「A]が見えなくなってしまいます。 「A]が最大でも「B」をデザインどうりの大きさで表示させるには、どうしたらよろしいでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Activate、Deactivate イベントのヘルプを見てみました。 PopUpプロパティをTRUEにするとBフォームの「Activate」「Deactivate」は発生しないようです。 BのDeactivateが発生しないので、AのActivateも発生しなくなるようですね。 アクセスのフォームはハンドルが存在するので、APIを駆使して自力でWM_ACTIVEを監視するようなやり方もあるとは思いますが、VBA内部でのウィンドウフックはリスクが大きいのでお勧めしません。 仕様の見直しがベターかと思います。
その他の回答 (1)
- 1050 円(@1050YEN)
- ベストアンサー率69% (477/687)
回答No.1
Bフォームのプロパティで「ポップアップ」をTrueにしてみてください。
質問者
補足
はい、うまくいきました。 が・・・!! 「B]のvisible=false にしても「A]のアクテブイベントは発生しないんですね。 「B]で変数を加工して「A]のアクテブイベントでその変数変更後の処理をしてたんで、コードの書換えが必要みたいです。
お礼
いつも、ありがとうございます。 APIは苦手なので、「B]の方で処理を完了させて戻るようにします。 はじめからそのようなコードにすれば良かったのが悔やまれます。 ありがとうございました。