SetWindowPosで表示しているフォームにフォーカスを移さないためには?


香那  2003-11-05 20:33:05  No: 80244

こんにちは。少し長文ですが宜しくお願いします。

[VB5 WindowsXP]
①メニュー画面と②通常画面と③パスワード画面と④ユーザ名表示画面の
4の画面を使用して以下の処理をしています。

①より②を呼び出し、②の登録時に③を表示し、パスワードが確認されたら
④にユーザ名を表示します。
※④はSetWindowPosを使用し、常に最前面に表示されます
※④には、"ログオフ"ボタンにあり、クリック時にフォームをHideしています

パスワード確認画面のコード-----------------------

    'パスワード確認
    If Not F_PassKakaku Then Exit Sub
    
    'パスワード確認画面を終了する
    Unload Me
    
    'ユーザ名画面を表示
    With FrmUserID
        .UserID = wUserID
        
        '初回のみ、Show        
        If wShowFlg Then .Show
    End With
        
    '常に最前面に表示する
    SetWindowPos FrmUserID.hWnd, -1, 0, 0, 0, 0, &H43
------------------------------------------------------------

①メニュー画面⇒②通常画面⇒③パスワード画面⇒④ユーザ名表示画面と
表示された後、②通常画面を終了させると④ユーザ名表示画面にフォーカスが
移動してしまいます。
①メニュー画面にフォーカスを移動する(アクティブにする)事は可能ですか?

宜しくお願い致します。


香那  2003-11-05 20:34:05  No: 80245

すみません。VB6でした。


へいぽー  2003-11-05 21:17:15  No: 80246

# 丸数字は使わないようにしましょう。

2の終了時に
1のフォーム.SetFocus
とすれば良いのでは?


香那  2003-11-06 18:08:36  No: 80247

ご回答有難うございます。

2は1以外の別メニューからも呼出し可能で、
1と別メニューの両方が表示される場合もあります。
呼出し元の画面を見つける方法とかはありませんか?


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

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






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