FontItalic on CTRL+i with TX Text Control ActiveX
Blogged by Björn Meyer on May 02, 2006 and tagged with ActiveX, Samples.
TX Text Control inserts a tab character when the key combination CTRL+i is used. This short code sample shows you how to trap these keystrokes in order to implement some other behavior, such as formatting the currently selected characters to italic.
Generally, the KeyPress event can be used to trap keystrokes and to make void their values. Unfortunately, the KeyAscii value in the KeyPress event is 9 on pressing CTRL+i, which is the same value as a normal tab character. Therefore, we have to use a global flag that returns the state of the CTRL key.
Consider the following:
Dim ctrl_key_state As Boolean
Private Sub TXTextControl1_KeyDown(KeyCode As Integer, Shift As Integer)
If Shift = 2 Then
ctrl_key_state = True
Else
ctrl_key_state = False
End If
End Sub
Private Sub TXTextControl1_KeyPress(KeyAscii As Integer)
If ctrl_key_state = True Then
If KeyAscii = 9 Then
KeyAscii = 0
If TXTextControl1.FontItalic = 0 Or TXTextControl1.FontItalic = 2 Then
TXTextControl1.FontItalic = 1
Else
TXTextControl1.FontItalic = 0
End If
End If
End If
End Sub





