プロが教える店舗&オフィスのセキュリティ対策術

こんにちは。
AccessVBAですが、ユーザーフォーム上で、
ユーザーが、コントロールをクリックするまで、
フォーカスを設定しない方法は、あるでしょうか。
テキストにフォーカスされたときの黒反転が、
綺麗でないので、フォーカスさせたくありません。

フォームを開いたときに、強引にボタンにフォーカス
する、方法もありますが、ボタンのないフォーム
ですと、この方法が使えません。

何か、いい方法がありましたら、教えてください。
お願いします。

A 回答 (3件)

はじめまして


テキストが反転するのはセレクトされている状態なので、それがいやなら
TextのGotFocusイベントで、textのSelLengthプロパティに0(選択長さを0)にします。
なおポインタを末尾にしたいときは、SelStartに文字列の長さを指定します。
[Ex] Text1.SelLength = 0
Text1.SelStart = Len(Text1.text)
    • good
    • 0

黒反転が嫌なだけなら、フォーカスを当てないんじゃなくて、テキストボックスの一番後にカーソルを持ってくるだけじゃだめですか?そしてクリック時に黒反転になるようにするというのはどうでしょう。



Private Sub テキスト0_Enter()
Me.テキスト0.SelStart = Me.テキスト0.SelLength
End Sub

Private Sub テキスト0_Click()
Me.テキスト0.SelStart = 0
Me.テキスト0.SelLength = Len(Me.テキスト0.Value)
End Sub

いかがでしょう?
    • good
    • 0

こんにちは。


フォーム上にテキストボックスを作成し見えないよう(背景色をフォームの背景色にし境界線を透明にし、最小にした状態にします。)にし目立たない所に置きます。
フォームが開いたときにそのテキストボックスにフォーカスがいくようにしたらいかがでしょうか。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています