テキストボックスクリック時に文字列反転するには?

解決


YYY  2004-04-05 23:50:45  No: 112651

テキストボックスクリック時に文字列反転させる時、以下のようにするというようにいたるところに書いてありますが、こうすると先頭からクリック位置までが反転されてしまいます。例えば、
文字列:abcde
でcとdの間をクリックすると、abcだけが反転されます。どこをクリックしてもabcde全てを反転させたいのですがどのようにすればよいでしょうか。よろしくお願いします。

Private Sub Text1_GotFocus()
    Text1.SelStart = 0
    Text1.SelLength = Len(Text1.Text)
End Sub

環境:VB6.0 sp+5  win2000


特攻隊長まるるう  2004-04-06 01:05:16  No: 112652

問題ありそうな気もするけどとりあえず。

Private Sub Text1_Click()
    Text1.SelStart = 0
    Text1.SelLength = Len(Text1.Text)
End Sub


みい  2004-04-06 01:25:36  No: 112653

Public FocusFlg As Integer

Private Sub Text1_Click()
    If FocusFlg = 1 Then
        Text1.SelStart = 0
        Text1.SelLength = Len(Text1.Text)
    End If
    FocusFlg = 0
End Sub

Private Sub Text1_GotFocus()
    FocusFlg = 1
End Sub

ではいかがでしょう?
GotFocusの後にClickが発生するのが原因だから、
GotFocusの後の初回Clickイベントだけ処理する
ということで。


YYY  2004-04-06 01:54:24  No: 112654

みいさんの方法で解決いたしました。ありがとうございました。
特攻隊長まるるうさんの方法ではフォーカス移動せずに
もう一度そこをクリックした時も全て選択されてしまいますので
今回は見送らせていただきました。
でもお答えいただきありがとうございました。


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

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






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