У есть RTB формат подчеркивание только: | Код | If richtextbox1.SelectionFont.Underline then msgbox() End if
|
не определяет какое конкретно подчеркивание. Я думаю что при помощи CHARFORMAT2_STRUCT можно определить, не знаю как отловить значение? | Код | ' Fields Private Const CFE_AUTOCOLOR As UInt32 = &H40000000 Private Const CFE_BOLD As UInt32 = 1 Private Const CFE_ITALIC As UInt32 = 2 Private Const CFE_LINK As UInt32 = &H20 Private Const CFE_PROTECTED As UInt32 = &H10 Private Const CFE_STRIKEOUT As UInt32 = 8 Private Const CFE_SUBSCRIPT As UInt32 = &H10000 Private Const CFE_SUPERSCRIPT As UInt32 = &H20000 Private Const CFE_UNDERLINE As UInt32 = 4 Private Const CFM_ALLCAPS As Integer = &H80 Private Const CFM_ANIMATION As Integer = &H40000 Private Const CFM_BOLD As UInt32 = 1 Private Const CFM_CHARSET As UInt32 = &H8000000 Private Const CFM_COLOR As UInt32 = &H40000000 Private Const CFM_DISABLED As Integer = &H2000 Private Const CFM_EMBOSS As Integer = &H800 Private Const CFM_FACE As UInt32 = &H20000000 Private Const CFM_HIDDEN As Integer = &H100 Private Const CFM_IMPRINT As Integer = &H1000 Private Const CFM_ITALIC As UInt32 = 2 Private Const CFM_KERNING As Integer = &H100000 Private Const CFM_LCID As Integer = &H2000000 Private Const CFM_LINK As UInt32 = &H20 Private Const CFM_OFFSET As UInt32 = &H10000000 Private Const CFM_OUTLINE As Integer = &H200 Private Const CFM_PROTECTED As UInt32 = &H10 Private Const CFM_REVAUTHOR As Integer = &H8000 Private Const CFM_REVISED As Integer = &H4000 Private Const CFM_SHADOW As Integer = &H400 Private Const CFM_SIZE As Integer = &H80000000 Private Const CFM_SMALLCAPS As Integer = &H40 Private Const CFM_SPACING As Integer = &H200000 Private Const CFM_STRIKEOUT As UInt32 = 8 Private Const CFM_STYLE As Integer = &H80000 Private Const CFM_SUBSCRIPT As UInt32 = &H30000 Private Const CFM_SUPERSCRIPT As UInt32 = &H30000 Private Const CFM_UNDERLINE As UInt32 = 4 Private Const CFM_UNDERLINETYPE As Integer = &H800000 Private Const CFM_WEIGHT As Integer = &H400000 Private Const CFU_UNDERLINE As Byte = 1 Private Const CFU_UNDERLINEDASH As Byte = 5 Private Const CFU_UNDERLINEDASHDOT As Byte = 6 Private Const CFU_UNDERLINEDASHDOTDOT As Byte = 7 Private Const CFU_UNDERLINEDOTTED As Byte = 4 Private Const CFU_UNDERLINEDOUBLE As Byte = 3 Private Const CFU_UNDERLINEHAIRLINE As Byte = 10 Private Const CFU_UNDERLINENONE As Byte = 0 Private Const CFU_UNDERLINETHICK As Byte = 9 Private Const CFU_UNDERLINEWAVE As Byte = 8 Private Const CFU_UNDERLINEWORD As Byte = 2 Private Const EM_GETCHARFORMAT As Integer = &H43A Private Const EM_SETCHARFORMAT As Integer = &H444 Private Const SCF_ALL As Integer = 4 Private Const SCF_SELECTION As Integer = 1 Private Const SCF_WORD As Integer = 2 Private Const WM_USER As Integer = &H400
' Nested Types <StructLayout(LayoutKind.Sequential)> _ Private Structure CHARFORMAT2_STRUCT Public cbSize As UInt32 Public dwMask As UInt32 Public dwEffects As UInt32 Public yHeight As Integer Public yOffset As Integer Public crTextColor As Integer Public bCharSet As Byte Public bPitchAndFamily As Byte <MarshalAs(UnmanagedType.ByValArray, SizeConst:=&H20)> _ Public szFaceName As Char() Public wWeight As UInt16 Public sSpacing As UInt16 Public crBackColor As Integer Public lcid As Integer Public dwReserved As Integer Public sStyle As Short Public wKerning As Short Public bUnderlineType As Byte Public bAnimation As Byte Public bRevAuthor As Byte Public bReserved1 As Byte End Structure
|
| Код | Private Sub RichTextBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Click формат подчеркивания? End Sub
|
Может быть кно-нибудь подскажет с чего начать и вообще возможно ли это?
|