VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 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


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

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -