投稿日 | : 2006/12/15(Fri) 18:44 |
投稿者 | : るしぇ |
Eメール | : |
URL | : |
タイトル | : Re^6: Changeイベントでテキストボックスを変換 |
テキスト変更イベントの中でテキストを変更するということは、
その変更イベントの中でまたテキストが変更されて、
その変更イベントで…
…と下手をすると無限ループに陥るので気をつけてください
ということです。
[VB6.0]
Option Explicit
Private m_SyorityuFlag As Boolean '処理中フラグ
Private Sub Text1_Change()
Dim top_chr As String
Dim str_chr As String
If m_SyorityuFlag Then Exit Sub
top_chr = UCase(Mid$(Text1.Text, 1, 1))
str_chr = LCase(Mid$(Text1.Text, 2))
m_SyorityuFlag = True
Text1.Text = top_chr & str_chr
m_SyorityuFlag = False
Text1.SelStart = Len(Text1.Text)
End Sub
また、
>Text1.SelStart = Len(Text1.Text)
ですけど、当然、ユーザが矢印キー等で挿入ポインタの位置を
変える事はあるわけで、常に文字列の最後に移動するのでは
実用的なレベルにまでは行ってませんが、まぁ、その程度なら
自分で修正できるだろうと思ってコメントしてません。