End Sub
同样,取消样式也有同样的问题,当然也有同样的解决方法
''''下面这个函数是用来去除用户指定的字体样式,如加粗,下划线等等
Public Sub RemoveFontStyle(ByVal rtb As RichTextBox, _
ByVal style As System.Drawing.FontStyle)
'''' 如果选择文本的长度大于0,将一个一个去除样式。
'''' 这是十分必要的!因为选择的文本中可能有许多不同的样式,而我们的原意是
'''' 保持所有原来的样式,除了那个要被去除的样式
If rtb.SelectionLength > 0 Then
Dim selStart As Integer = rtb.SelectionStart
Dim selLength As Integer = rtb.SelectionLength
Dim currFont As System.Drawing.Font
Dim currStyle As System.Drawing.FontStyle
Dim i As Integer
For i = 0 To selLength - 1
'''' 选择一个字符
rtb.Select(selStart + i, 1)
'''' 得到被选择字符的字体
currFont = rtb.SelectionFont
'''' 得到被选择字符的样式,同时去除要被除去的那个样式
currStyle = currFont.Style
currStyle = currStyle And Not style
'''' 然后赋予这些字符新的字体和样式
rtb.SelectionFont = New Font(currFont.FontFamily, currFont.Size, _
currStyle)
Next
'''' 保持原有的选择
rtb.Select(selStart, selLength)
Else
rtb.SelectionFont = New Font(rtb.SelectionFont, _
rtb.SelectionFont.Style And Not style)
End If
End Sub
还有几个关于设置字体大小,字体的字体等等就不细说了,如您需要,我可提供所有源代码文件。欢迎与我联系。
luluhai@eastday.com
未完待续......
上一页 [1] [2] 没有相关教程
|