プロが教えるわが家の防犯対策術!

いつもお世話になります

TextBoxの選択時に、入力されている文字の前で且つ
そのまま修正できるように青色で選択したしたいのですが

Textboxの入力文字の前でtextbox内をクリックするとOKで
入力文字の後ろでTextbox内をクリックするとカーソルが入力文字の
一番後ろに来てしまい選択をしてくれません
ステートメントは下記のとおりです

Private Sub TextBox1_Enter()

isw = 1
With TextBox1
.BackColor = RGB(&H0, &HFF, &HFF)
.SelStart = 0
.SelLength = Len(TextBox1)
End With

End Sub

何か他に必要なものが有るのでしょうか?
分かりましたら教えてください

以上、よろしくお願い申し上げます

A 回答 (2件)

こんにちは。



>Private Sub TextBox1_Enter()
は、クリックとは違うイベントです。
クリックだったら、MouseDownです。

Private Sub TextBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
 If Button <> 1 Then Exit Sub
 With TextBox1
  .BackColor = RGB(&H0, &HFF, &HFF)
  .SelStart = 0
  .SelLength = Len(TextBox1.Text)
 End With

End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます
知らなかったのでちょっとびっくりしました
助かりました

ところで、リターンキーと矢印キーでもTextbox間を移動するように
作っていますが
リターンキーではカーソル位置と文字選択は出来るのですが
矢印キーだとカーソルは文字の後ろで文字選択もしてくれません
また違うイベントが有るのでしょうか?

すみません、もし良かったら教えてください

お礼日時:2017/06/29 09:42

その原因は、



>リターンキーと矢印キーでもTextbox間を移動するように
>作っていますが
  vs
>矢印キーだとカーソルは文字の後ろで文字選択もしてくれません

矢印キーで飛ぶように作られていますから、矢印キーでは文字の後ろでは文字選択してくれない、ということではないでしょうか。

ふつうは、リターンキーとTabキーで移動するものだと思います。
矢印キーの縛りをなくせば、おそらく、文字の選択は可能になるはずです。
KeyUp, KeyDown などのイベントで設定されていませんか?

そうではなかったら、また、ご連絡ください。
まあ、公共ごまさんほどのレベルの人なら、聞かなくても気がつくだろうけれど……。

なお、この手の詳しい資料は、Visual Basic 6.0 コントロールの説明をした本に出てきます。なぜか、VBAでは、私は見た覚えがありません。いろんなコントロールがあり、VBAと共有しているものも多くあります。Excel 2003 をピークとして、その後VB6のコントロールで使えなくなったものもありますが。『新Visual Basic入門 シニア編―Ver.6.0対応』なんていう、古本屋で二束三文で売られているもので十分です。
    • good
    • 0
この回答へのお礼

ありがとうございます
何度もすみませんでした

本当に助かります
KeyUp,KeyDownを使ってました
また、研究してみます

これからもよろしくお願いします

お礼日時:2017/06/29 15:49

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

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


このQ&Aを見た人がよく見るQ&A