tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^2: テキストボックスの3桁毎のカンマ表示
投稿日: 2008/07/02(Wed) 15:32
投稿者るしぇ
もうちょっと分かり易くするなら
[VB6.0(SP5)]
Private Sub Command1_Click()
    With Me.Text1
        .Text = "300"
        Debug.Print .SelStart
        
        .SelStart = Len(.Text)
        Debug.Print .SelStart
    
        .Text = "300"
        Debug.Print .SelStart
    
        .Text = "30"
        Debug.Print .SelStart
    End With

End Sub

Private Sub Form_Load()
    With Me.Text1
'        .Algnment = 1 'デザイン画面でのみ設定可
        .MaxLength = 0
    End With
End Sub

Private Sub Text1_Change()
    Debug.Print "Change"; Text1.Text
End Sub


[出力]
>Change300
>0
>3
>3
>Change30
>0

変更後のテキストが、変更前の Text の値と一致していると
代入しても Text の更新処理は実行してないという動きが確認
できます。

Text 更新の内部処理を想像して、一度 ""(クリア)にしておいて
変更後の文字列を右順に挿入している。。。
というのは無理の無い解釈だと思うのですがどうでしょう?
それが正しいと仮定するとテキスト更新後はカーソルが左端に
来るのが自然ですね。

思いつく解決案は先に書き込まれた方々と同じなので省略。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。