Smart Tab key processing in multiline TextBox controls

Smart Tab key processing in multiline TextBox controls

The only way for a Tab key to insert a tab character in a multiline text box is that the text box is the only control on the form, or at least the only control whose TabStop property is set to True. Otherwise, pressing the Tab key you simply move the focus to another control on the form.

If there are other controls on the form that could receive the input focus, you have to manually set their TabStop property to False when the text box gets the focus, and restore to True when the user moves the focus elsewhere, by either clicking on another control or pressing a hotkey. The best method to do that is creating a general routine that does the job and that can easily be reused in all your apps:

Sub DisableTabStops(Optional restoreIt As Variant)    Static saveTabStop(255) As Boolean    Dim index As Integer    Dim currForm As Form            ' not all controls support TabStop property    On Error Resume Next    Set currForm = Screen.ActiveForm    If IsMissing(restoreIt) Then restoreIt = False        If restoreIt = False Then        ' save current value of TabStop property        ' before setting it to False        For index = 0 To currForm.Controls.Count - 1            saveTabStop(index) = currForm.Controls(index).TabStop            currForm.Controls(index).TabStop = False        Next    Else        ' restore previous settings        For index = 0 To currForm.Count - 1            currForm.Controls(index).TabStop = saveTabStop(index)            saveTabStop(index) = False        Next    End If            End Sub

You call this routine from the GotFocus and LostFocus events, as follows:

Private Sub Text1_GotFocus()    ' disable TabStop for all controls    DisableTabStopsEnd SubPrivate Sub Text1_LostFocus()    ' restore previous settings    DisableTabStops TrueEnd Sub

Note that within standard (non-multiline) text boxes, the Tab key never adds a vbTab character; if the control is the only control on the form with TabStop = True, pressing the Tab key has no effect on input focus and you only get a beep.

Share the Post:
Heading photo, Metadata.

What is Metadata?

What is metadata? Well, It’s an odd concept to wrap your head around. Metadata is essentially the secondary layer of data that tracks details about the “regular” data. The regular

XDR solutions

The Benefits of Using XDR Solutions

Cybercriminals constantly adapt their strategies, developing newer, more powerful, and intelligent ways to attack your network. Since security professionals must innovate as well, more conventional endpoint detection solutions have evolved

AI is revolutionizing fraud detection

How AI is Revolutionizing Fraud Detection

Artificial intelligence – commonly known as AI – means a form of technology with multiple uses. As a result, it has become extremely valuable to a number of businesses across

AI innovation

Companies Leading AI Innovation in 2023

Artificial intelligence (AI) has been transforming industries and revolutionizing business operations. AI’s potential to enhance efficiency and productivity has become crucial to many businesses. As we move into 2023, several

data fivetran pricing

Fivetran Pricing Explained

One of the biggest trends of the 21st century is the massive surge in analytics. Analytics is the process of utilizing data to drive future decision-making. With so much of

kubernetes logging

Kubernetes Logging: What You Need to Know

Kubernetes from Google is one of the most popular open-source and free container management solutions made to make managing and deploying applications easier. It has a solid architecture that makes