• 締切済み

DLLから表示しているモーダルダイアログよりも手前にかつモーダルにフォーム表示したい

VBからOCX経由でDLLを呼び出しており、そのDLLからモーダルダイアログ(以下ダイアログ(1)と記述)を表示しています。このダイアログ(1)を表示中にVBから別フォーム(2)をダイアログ(1)より前面に表示させています。 フォーム(2)をダイアログ(1)より前面に表示し、ダイアログ(1)をマウスクリック等しても表示順序が入れ替わらないようにするにはどうすれば良いでしょうか? OCXおよびDLLの変更はできません。 フォーム(2)の代わりにMSGBOX関数にてメッセージボックスを表示させた場合には、メッセージボックスを終了以前にダイアログ(1)の操作は不可となりました。 ですので、何らかの方法で実現可能だと考えています。 よろしくお願いいたします。

みんなの回答

  • xcrOSgS2wY
  • ベストアンサー率50% (1006/1985)
回答No.1

「質問:MsgBoxの最前面表示」 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1507950 はいかがですか。

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1507950
yossy7955
質問者

補足

ご回答ありがとうございます。自己解決しました。VBのデバッグモードで試していたのですが、EXEを生成して実行してみると、何も対処しなくとも、解決してしまいました。 VBの最初のフォームをペアレントとしてモーダル表示するだけで、DLLからのダイアログに対してもモーダルとなりました。(元々こうしていましたが、デバッグモードではうまくいかないようです) どうも、ありがとうございました。

関連するQ&A