The RichTextBox control supports the RTF codes for super and subscripting, but the control itself does not give you access to those features.
Here is some simple code to add that functionality.
VB Code:
Public Sub SetSubScript(RTB As RichTextBox) Dim iPos As Long Dim strRTF As String With RTB If .SelCharOffset >= 0 Then iPos = .SelStart .SelText = Chr(128) & .SelText & Chr(129) ' \'80 \'81 strRTF = Replace(.TextRTF, "\'80", "\sub\dn1 ") .TextRTF = Replace(strRTF, "\'81", "\nosupersub\up0 ") .SelStart = iPos Else .SelText = Chr(128) & .SelText strRTF = .TextRTF .TextRTF = Replace(strRTF, "\'80", "\nosupersub\up0 ", , 1) End If End With End Sub Public Sub SetSuperScript(RTB As RichTextBox) 'add tags \super\up1 and \nosupersub\up0 Dim iPos As Long Dim strRTF As String With RTB iPos = .SelStart If RTB.SelCharOffset <= 0 Then .SelText = Chr(128) & .SelText & Chr(129) ' \'80 \'81 strRTF = Replace(.TextRTF, "\'80", "\super\up1 ") .TextRTF = Replace(strRTF, "\'81", "\nosupersub\up0 ") Else .SelText = Chr(128) & .SelText strRTF = .TextRTF .TextRTF = Replace(strRTF, "\'80", "\nosupersub\up0 ", , 1) End If .SelStart = iPos End With End Sub




Reply With Quote