Private Sub Form1_lostfocus()
Form1.SetFocus
End Sub
って昔やってフォーカスを他のフォームに移せないような
ふうに出来たような記憶があったのですが
やってみたらできなかったので、わからなくなってしまいました。
単純にメッセージボックスのでっかいのみたいなの(デザイン的な制約で作りたい)を作りたいのですが
yes NOを選択する上で、別のフォームでの状態を表示した上で
選択されるまで他のフォームにフォーカスが移らないようにしたいのです
どのようにすれば良いでしょうか?
モーダルで呼び出すってのではだめなのでしょうか?
編集 削除他のフォームって、
同一プロジェクト内( exe 内)の
フォームですよね?
私の環境では、
フォーカスを移動できませんでしたけど。
フォームを常に手前に表示したい時は、APIのSetWindowPosを使います
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOSIZE = &H1
Private Const HWND_TOPMOST = -1
Private Declare Function SetWindowPos Lib "user32" _
(ByVal hWnd As Long, ByVal hWndInsertAfter As Long, _
ByVal x As Long, ByVal y As Long, ByVal cx As Long, _
ByVal cy As Long, ByVal wFlags As Long) As Long
と宣言しておいて
Private Sub Form_Load()
SetWindowPos hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE + SWP_NOSIZE
End Sub
とすれば他のフォームの影に隠れる事はありません。
長谷川さん、へいぽさん、ねろさん
非常に参考になるご意見ありがとうございました、おかげで解決しました
おかげで非常に助かりました
本当にありがとうございます