タイトル : 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 更新の内部処理を想像して、一度 ""(クリア)にしておいて 変更後の文字列を右順に挿入している。。。 というのは無理の無い解釈だと思うのですがどうでしょう? それが正しいと仮定するとテキスト更新後はカーソルが左端に 来るのが自然ですね。 思いつく解決案は先に書き込まれた方々と同じなので省略。 |