请教:如何将RichTextBox1中的某些不确定位置的相同字用同一种颜色显示,再将另一些不确定位置的另一字用另外一种颜色显示?
我搜遍了网络,只有一个提问与我想要的结果接近,提问如下:
检索RichTextBox1中的字符串,并将检索内容中的所有的(不是第一个)特定字符用红色显示。网友的回答如下:
Option Explicit
Private Sub RichTextSearch(ByVal objName As RichTextLib.RichTextBox, ByVal strSearchText As String, Optional ByVal clrSelColor As stdole.OLE_COLOR = vbBlue)
Dim lngTmp As Long, lngPos As Long, strTmp As String, intLength As Integer
Screen.MousePointer = vbHourglass
objName.SelStart = 0
objName.SelLength = Len(objName.Text)
objName.SelColor = vbBlack
objName.SelLength = 0
strTmp = objName.Text
If Trim(strSearchText) <> Empty And strTmp <> Empty Then
intLength = Len(strSearchText)
lngTmp = InStr(1, strTmp, strSearchText)
lngPos = lngTmp
Do While lngTmp > 0
objName.SelStart = lngPos - 1
objName.SelLength = intLength
objName.SelColor = clrSelColor
strTmp = Mid(strTmp, lngTmp + 1)
lngTmp = InStr(1, strTmp, strSearchText)
lngPos = lngPos + lngTmp
Loop
End If
Screen.MousePointer = vbDefault
End Sub
Private Sub Form_Load()
RichTextBox1.Text = "中华人民共和国中华人民共和国中华人民共和国中华人民共和国中华人民共和国"
RichTextSearch RichTextBox1, "中华", vbRed
End Sub 我试了一下,该方法能实现将RichTextBox1中的某些不确定位置的相同字用同一种颜色显示,但不能实现再将另一些不确定位置的另一字用另外一种颜色显示。
我现在想请教各位朋友,以示例中 "中华人民共和国中华人民共和国中华人民共和国中华人民共和国中华人民共和国" 为例,如何实现将示例中所有“中”字用红色显示,“人”字用黄色显示,“共”字用蓝色显示等等(或者将示例中所有“中”字,“人”字,“共”字都用红色显示),请给出代码,一定加分,感谢!
我搜遍了网络,只有一个提问与我想要的结果接近,提问如下:
检索RichTextBox1中的字符串,并将检索内容中的所有的(不是第一个)特定字符用红色显示。网友的回答如下:
Option Explicit
Private Sub RichTextSearch(ByVal objName As RichTextLib.RichTextBox, ByVal strSearchText As String, Optional ByVal clrSelColor As stdole.OLE_COLOR = vbBlue)
Dim lngTmp As Long, lngPos As Long, strTmp As String, intLength As Integer
Screen.MousePointer = vbHourglass
objName.SelStart = 0
objName.SelLength = Len(objName.Text)
objName.SelColor = vbBlack
objName.SelLength = 0
strTmp = objName.Text
If Trim(strSearchText) <> Empty And strTmp <> Empty Then
intLength = Len(strSearchText)
lngTmp = InStr(1, strTmp, strSearchText)
lngPos = lngTmp
Do While lngTmp > 0
objName.SelStart = lngPos - 1
objName.SelLength = intLength
objName.SelColor = clrSelColor
strTmp = Mid(strTmp, lngTmp + 1)
lngTmp = InStr(1, strTmp, strSearchText)
lngPos = lngPos + lngTmp
Loop
End If
Screen.MousePointer = vbDefault
End Sub
Private Sub Form_Load()
RichTextBox1.Text = "中华人民共和国中华人民共和国中华人民共和国中华人民共和国中华人民共和国"
RichTextSearch RichTextBox1, "中华", vbRed
End Sub 我试了一下,该方法能实现将RichTextBox1中的某些不确定位置的相同字用同一种颜色显示,但不能实现再将另一些不确定位置的另一字用另外一种颜色显示。
我现在想请教各位朋友,以示例中 "中华人民共和国中华人民共和国中华人民共和国中华人民共和国中华人民共和国" 为例,如何实现将示例中所有“中”字用红色显示,“人”字用黄色显示,“共”字用蓝色显示等等(或者将示例中所有“中”字,“人”字,“共”字都用红色显示),请给出代码,一定加分,感谢!
解决方案 »
- 在线求助关于不能设置类 Range的FormulaArray属性
- 如何让网格数据控件手工提交而非自动提交?
- VB调用水晶报表,出现该字段名未知,请教是为什么!
- 关于sstab控件的问题
- 请问如何实现跨域访问?
- 怎么识别读取使用“数据筛选”功能后,的不连续行
- 决择?郁闷!VB or VFP
- 怎么把VB中text文本框内的多行数据导入到Excel中?在Excel中可以实现多行数据。
- 做个游戏外挂
- 高分想送!!!如何用一台计算机控制其他几台计算机的串口?
- 我用wise installation 做了个安装程序 ,在选择组件界面 (我就一个组件),出现组件大小0k 选上 也是0k,怎么修改成正确显示组件大小kb
- 菜鸟求救!!!!!!数据库问题
RichTextBox1.Text = "中华人民共和国中华人民共和国中华人民共和国中华人民共和国中华人民共和国"
RichTextBox1.SelStart = 0
RichTextBox1.SelLength = 3
RichTextBox1.SelColor = vbGreen
RichTextBox1.SelStart = 4
RichTextBox1.SelLength = 5
RichTextBox1.SelColor = vbRed
RichTextBox1.SelStart = 9
RichTextBox1.SelLength = 4
RichTextBox1.SelColor = vbBlue
RichTextBox1.SelStart = 15
RichTextBox1.SelLength = 7
RichTextBox1.SelColor = vbYellow
RichTextBox1.SelStart = 25
RichTextBox1.SelLength = 7
RichTextBox1.SelColor = vbRed
End Sub
RichTextBox1.Text = "中华人民共和国中华人民共和国中华人民共和国中华人民共和国中华人民共和国"
For I = 1 To Len(RichTextBox1.Text)
If Mid(RichTextBox1.Text, I, 1) = "中" Then
RichTextBox1.SelStart = I - 1
RichTextBox1.SelLength = 1
RichTextBox1.SelColor = vbRed
End If
Next End Sub