VBサンプルのログオン画面について

解決


初心者  2007-08-22 20:50:22  No: 137232

VB6のテンプレートのフォームにログオン画面がありますが、

ユーザー名(&U)  txtUserNameテキスト
パスワード(&P)  txtPasswordテキスト

となっているかと思います。

ショートカットキー[Alt+U]や[Alt+P]を押下すると、
確かにそれぞれのテキストへSetFocusされるのですが、
こちらはコードによるものではないと思われます。

ということはプロパティの設定で[Alt+U]を押下すると
txtUserNameテキストへSetFocusするという設定がされているのでしょうか?

ショートカットの判定でSetFocusさせるプログラミングをしたほうがよいのでしょうが、
プロパティの設定で簡単に出来るのであれば、そちらの方がよいと思いました

ご存知のかた、よろしくお願いします。


大吉末吉  2007-08-22 21:00:19  No: 137233

以下、ヘルプ(MSDNライブラリ)の「ラベル (Label) コントロール」より抜粋。

----------------------------------------------------------------------
アクセス キーとしてラベル コントロールの Caption プロパティに
 1 文字を定義するには、UseMnemonic プロパティを真 (True) に設定します。
ラベル コントロールにアクセス キーを定義すると、Alt キーと指定した文字のキーを同時に押して、
次のタブ オーダーのコントロールにフォーカスを移動することができます。
----------------------------------------------------------------------

同じく、「UseMnemonic プロパティ」より抜粋。

---------------------------------------------------------------------
ラベル (Label) コントロールの Caption プロパティの文字列に、
アンパサンド (&) を使ってアクセス キーを定義するかどうかを指定する値を設定します。
---------------------------------------------------------------------


まさ  2007-08-22 21:17:42  No: 137234

タブインデックスに注目してください。

  ラベルのアクセスキーを押下
→ラベルにフォーカスを移そうとする
→ラベル自体はフォーカスを持つことが出来ないので、
  次のコントロールにフォーカスを移す

なので、タブインデックスの順は、次のようになっている筈です。
ユーザー名(&U) → txtUserNameテキスト
パスワード(&P) → txtPasswordテキスト


初心者  2007-08-22 21:36:44  No: 137235

大吉末吉様、まさ様

ログオン画面のようなイメージのフォームを新たに作成し、

lblUserName.UseMnemonic = True
lblPassword.UseMnemonic = True

lblUserName.TabIndex = 0
txtUserNameテキスト.TabIndex = 1
lblPassword.TabIndex = 2
txtPasswordテキスト.TabIndex = 3

とすれば、うまくいきました。

ご丁寧に有難うございました。


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

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






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