[リストへもどる]
一括表示

投稿時間:2004/03/05(Fri) 10:30
投稿者名:イヌ
Eメール:
URL :
タイトル:
strConvについて
VB6.0 Windowsでアプリ作ってます。

テキストボックスに全角文字が入力されたら
半角文字に変換させて表示をさせたいのですが、うまくいきません。

実行したときには半角の1が入ってます。
text1.text = 1

text1のChangeイベントに記述しています。
Private Sub Text1_Change()
  Text1.Text = StrConv(Text1.Text, vbNarrow)
End Sub

で、半角にはなるのですが
逆さになって表示されてしまいます・・・
どうすればよいでしょうか?

投稿時間:2004/03/05(Fri) 12:19
投稿者名:nanashi
Eメール:
URL :
タイトル:
Re: strConvについて
Textが変わるときにSelStartがリセットされてるからですね。
↓こんな感じでいかがでしょう?

Private Sub Text1_Change()
    Dim lPos As Long
    Static bNowConv As Boolean
    
    If bNowConv Then Exit Sub
    
    bNowConv = True
    
    With Text1
        lPos = .SelStart
        .Text = StrConv(.Text, vbNarrow)
        .SelStart = lPos
    End With
    
    bNowConv = False
End Sub

投稿時間:2004/03/05(Fri) 15:06
投稿者名:イヌ
Eメール:
URL :
タイトル:
Re^2: strConvについて
nanashi殿 レスありがとございます。
解決しました。