RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX

By submitting your information, you agree that devx.com may send you DevX offers via email, phone and text message, as well as email offers about other products and services that DevX believes may be of interest to you. DevX will process your information in accordance with the Quinstreet Privacy Policy.

Tip of the Day
Language: VB4,VB5,VB6
Expertise: beginner
Apr 20, 1999



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Overwrite mode for textbox controls

By default, textbox controls work in insert mode, where each new character never overwrites existing ones. If you wish to implement overwrite mode you can take advantage of the fact that characters pressed by the user replace the currently selected text, if any.

You need to declare a form-level variable that holds the current mode, and modify the KeyPress event of the text box control. You also need to add some code to the KeyDown event procedure, in order to trap the INS key and pass from insert mode to overwrite mode and vice versa:

' form level variable
Dim overwriteMode As Boolean

Sub Text1_KeyPress (KeyAscii As Integer)
    If overwriteMode And KeyAscii >= 32 And Text1.SelLength = 0 Then
        ' we are in overwrite mode, the user hasn't pressed a
        ' control key and there's no text currently highlighted
        If Mid$(Text1.Text, Text1.SelStart + 1, 1) <> vbCr Then
            ' we are not at the end of the current line of text
            ' select the next character, so that it will be replaced by
            ' key typed by the end user
            Text1.SelLength = 1
        End If
    End If
End Sub

Sub Text1_KeyDown (KeyCode As Integer, Shift As Integer)
    If KeyCode = 45 And Shift = 0 Then
        overwriteMode = Not overwriteMode
    End If
End Sub
Francesco Balena
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date