投稿日 | : 2003/09/17(Wed) 16:04 |
投稿者 | : nanashi |
Eメール | : |
URL | : |
タイトル | : Re^3: TextBoxに上書きで入力 |
よく分かりませんけど、上書きってこんなんで良いんでしょうか??
Option Explicit
Private lOldPos As Long
Private bSelect As Boolean
Private Const lMaxLength As Long = 10& 'MaxLengthプロパティは設定しないで下さい。
Private Sub Text1_Change()
Dim sBuff As String
Dim lLen&, lNewPos As Long
Static bChk As Boolean
If bChk Then Exit Sub
bChk = True
With Text1
sBuff = .Text
lLen = Len(sBuff)
lNewPos = .SelStart
If lNewPos > lOldPos Then
sBuff = Left$(sBuff, lNewPos) & Mid$(sBuff, lNewPos * 2 - (lOldPos - bSelect) + 1)
End If
.Text = Left$(sBuff, lMaxLength)
.SelStart = lNewPos
lOldPos = lNewPos
bSelect = False
End With
bChk = False
End Sub
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
With Text1
lOldPos = .SelStart
bSelect = .SelLength > 0
End With
End Sub