こんにちは。
XP(SP2),VB6(SP6)で
親フォーム -> 子ダイアログ -> 孫ダイアログを表示する処理を作成し実行すると、
子ダイアログを閉じた際、親フォームが他のアプリケーションの下
にもぐってしまいます。
(例えばメモ帳上で実行して、子ダイアログを閉じた時にメモ帳の下に隠れてしまう、デバッグ時ならばVBの下に隠れる)
孫ダイアログを表示させずに、子を閉じるとこの様に減少は起こりません。
なぜこの様になるのでしょうか?
又、回避策はあるでしょうか?ご存じの方、教えてください。
以下、現象再現用のテストプログラムです。
親フォーム
Private Sub Command1_Click()
dlg1.Show vbModeless, Me
End Sub
子ダイアログ(dlg1)
Private Sub Command1_Click()
dlg2.Show vbModal, Me
End Sub
Private Sub CancelButton_Click()
Unload Me
End Sub
孫ダイアログ(dlg2)
Private Sub CancelButton_Click()
Unload Me
End Sub
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
親子関係ではなく モードレスかモーダルかの違いだと思いますよ
モーダルの場合(子から孫)は孫を閉じない限り子は操作ができません
モードレスの場合(親から子)は子を閉じなくても親の操作が可能です
モードレスの場合はプログラムの組み方によっては複数の子の生成も可能です
親 > 子 > 孫 が常に1つしか存在しないのなら
親で子を生成する際のコードを モードレスにしてみてはいかがでしょう
'親フォーム
Private Sub Command1_Click()
dlg1.Show vbModal, Me
End Sub
といった具合で …
どーしてもモードレスにしなければいけないのであれば
WinAPIの AttachThreadInputとSetForgroundWindowなど組み合わせて
前面への移行処理が必要になると思います
# AttachThreadInputには ThreadIdが必要になるので
# 現在の最前面のウィンドウハンドルなどから取得する必要が出てきます
# AttachThreadInput 最前面 などキーワードに検索してみましょう
今回の動作については子ダイアログUnload時に
親Windowにフォーカスを当てることで回避できました。
何故、下にもぐるのかはわからずじまいでしたが・・・
AttachThreadInputは知らなかったため、
参考になりました、ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- Access(アクセス) Vba Userformを前面に出すについて 3 2022/04/15 12:29
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- Excel(エクセル) Excel-VBAの「しばらくお待ちください」のダイアログが自動的に閉じない 2 2023/05/24 15:31
- Visual Basic(VBA) vba Sleep関数について教えてください 1 2023/01/18 10:18
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- Visual Basic(VBA) Excel VBA ユーザーフォーム1のコンボボックスに別ブックの値を反映させたいです。 6 2023/03/21 16:12
- Visual Basic(VBA) VBAでファイルを開くプログラムがエラーです 2 2023/02/21 16:56
- Visual Basic(VBA) シートをコピーする下記記述でダイアログを用いた記述がわかりません?( A = Dir(ThisWor 4 2022/08/22 12:26
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
台湾の女性とsexをしたのですが...
-
家で全裸っておかしいですか? ...
-
旦那より私の方が性欲が強いで...
-
デブの女性を見るとイライラし...
-
男性は… 密かに好きな女性がい...
-
デブすぎる彼と距離を置きたい
-
彼女は露出が多い服が好きなん...
-
着丈って?着幅って?
-
保管しておいた衣類につく赤いシミ
-
息子が女装しています。 息子は...
-
ポリエステル素材の服について ...
-
『衣装を着用する』の『着用』...
-
服の切れ込みの、スリッドと、...
-
靴底の生ゴムを少しでも柔らか...
-
両親の大人の玩具を見つけてし...
-
家に落ちてる見に覚えのない髪...
-
カーゴパンツの裾ひも・結び方
-
女装してます‼…この画像ご覧な...
-
鳥の糞はどれくらい害がありま...
-
ズボンを履く?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
台湾の女性とsexをしたのですが...
-
旦那より私の方が性欲が強いで...
-
家で全裸っておかしいですか? ...
-
デブの女性を見るとイライラし...
-
男性は… 密かに好きな女性がい...
-
デブすぎる彼と距離を置きたい
-
彼女は露出が多い服が好きなん...
-
保管しておいた衣類につく赤いシミ
-
着丈って?着幅って?
-
息子が女装しています。 息子は...
-
『衣装を着用する』の『着用』...
-
下着女装です、以前から自宅マ...
-
女装してます‼…この画像ご覧な...
-
服の隙間から彼女の乳首が見えます
-
2歳8ヶ月の男の子。靴下や靴が...
-
カーゴパンツの裾ひも・結び方
-
中一の娘が父の顔にキスしたり...
-
『~のは』と『~のが』という...
-
服の隙間から胸が見えてしまっ...
-
スタイルどのくらい悪いですか...
おすすめ情報