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です。よろしくお願いします。
HWND_NOTOPMOSTじゃなくてHWND_TOPMOSTでは?
途中で送信してしまいました。
Form2のアクティブイベントでSetWindowPosでForm2を最前面にすればいいのでは?
すーさん回答ありがとうございます。
ご指摘のあったところはコピペの間違いでした。
こちらに訂正
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のアクティブイベントで最前面にするとは考えもつきませんでした。
どうもありがとうございました。
ツイート | ![]() |