RichTextBox的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RichTextBox的问题相关的知识,希望对你有一定的参考价值。
做了一个软件,涉及到模板的问题,在模板内容里,我用来标记选择项,比如:重庆,又名山城、雾都。
最开始我用LABEL控件数组来存放这些文字,如用将“重庆,又名”存放在label1(0)中,将“山城”存放在label1(1)中,将“、”存放在label1(2)中,将“雾都”存放在label1(3)中,将“。”存放在label1(4)中。里的文本内容和外面的文本内容用颜色区分开来,单击里的任何位置时,里的文本选中。但是这样做,会涉及到用户删除模板中的文本内容时不是很方便,用户添加文本时,又要去移动每个Label控件。
于是,想到用RichTextBox控件。我用一个二维数组来存放里文本内容的selStart以及里文本的长度。不过在单击使里的文本颜色变化之前,如果用户对文本进行了编辑(添加、删除、剪切、粘贴等),那么二维数组里存放的selStart就相应的应该改变,那么我怎么去获取用户编辑时添加、删除、剪切、粘贴的文本的文本长度?
还有我想让用户在里不能进行文本编辑功能,这个该怎么做呢?
如果RichTextBox控件不能达到这些功能,那么我该怎么去实现上面所说的功能呢。
Private Sub RichTextBox1_Click()
On Error Resume Next
a = InStrRev(RichTextBox1.Text, "", RichTextBox1.SelStart)
b = InStr(RichTextBox1.SelStart, RichTextBox1.Text, "")
If InStr(1, Mid(RichTextBox1.Text, a + 1, b - a - 1), "") = 0 And InStr(1, Mid(RichTextBox1.Text, a + 1, b - a - 1), "]") = 0 Then
RichTextBox1.SelStart = a
RichTextBox1.SelLength = b - a - 1
RichTextBox1.SetFocus
RichTextBox1.Locked = True
Else
RichTextBox1.Locked = False
End If
End Sub
以上是关于RichTextBox的问题的主要内容,如果未能解决你的问题,请参考以下文章