SetWindowPosで最前面に表示したフォームからモーダルで別フォームを呼び出すには?

解決


Tamy  2003-11-22 01:10:59  No: 110116

SetWindowPosで最前面に表示したフォームからモーダルで別フォームを呼び出すには、どうすればよいでしょうか?

現在Form1を
r = SetWindowPos(Form1.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE)  で最前面に表示しています。
Form1からForm2をモーダルで呼び出しても、Form1の後ろにForm2が隠れてしまいます。
これをForm2がForm1の後ろにならないようにするにはどうすればよいでしょうか?

WinXP
VB6SP5です。よろしくお願いします。


すーさん  2003-11-22 01:57:14  No: 110117

HWND_NOTOPMOSTじゃなくてHWND_TOPMOSTでは?


すーさん  2003-11-22 01:59:15  No: 110118

途中で送信してしまいました。
Form2のアクティブイベントでSetWindowPosでForm2を最前面にすればいいのでは?


Tamy  2003-11-22 02:43:14  No: 110119

すーさん回答ありがとうございます。
ご指摘のあったところはコピペの間違いでした。
こちらに訂正
r = SetWindowPos(Form1.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE)

Form2のアクティブイベントでSetWindowPosでForm2を最前面にしたら
思うような結果になりました。

Form2.Show vbModalのすぐ後に最前面にするとか色々やりましたが、
Form2のアクティブイベントで最前面にするとは考えもつきませんでした。
どうもありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加