richtextbox的文字为什么会变成普通的呢

lucifer11 2003-09-04 09:27:53
为什么我在richtextbox中加入文本以后,richtextbox中以前文本的格式全变成普通的了?

我在窗体中放了一个richtextbox(r1),一个textbox(t1) 一个command(c1)
我在command单击中输入
old=len (r1.text)
r1.text=r1.text & t1.text
r1.selstart=len(r1.text)-old
r1.sellegth=len(t1.text)
r1.selcolor=vbred
运行以后只要一按command t1的 文字以红色出现在r1里面,符合我的要求,可是继续按command 以前红色的字自动变成黑的了,当前t1的内容 成为红色
我是想编 一个 彩色的多行文本(就像聊天室那样)
就是 按下command ,textbox的文本以指定的颜色输入到richtextbox中,可是一按command以前格式过过的文本变成普通文本了
谁有这样的例子告诉我一下可以吗
谢谢了
...全文
70 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
James0001 2003-09-06
  • 打赏
  • 举报
回复
'简单的例子,在窗口上放 一个RichTextBox (r1) 和 一个CommandButton (c1)

Private Sub c1_Click()
Randomize
With r1
.SelStart = Len(r1.Text)
.SelLength = 0&

'把 SelText 设置为 需要插入的字符串
.SelText = "Microsoft Visual Basic" & vbCrLf
'把 SelColor 设置为 字符串的颜色
.SelColor = QBColor(CInt(Rnd * 15&))

'设置其他样式
.SelBold = CBool(CInt(Rnd))
.SelItalic = CBool(CInt(Rnd))
.SelUnderline = CBool(CInt(Rnd))
End With
End Sub
csdnybl 2003-09-05
  • 打赏
  • 举报
回复
我不知道你是否注意到没有RichTextBox有两个属性:
1、RichTextBox1.Text
2、RichTextBox1.TextRTF
Text为纯文本格式,你用他连接当原会变为纯文本的了
TextRTF为格式化的
建议方法:
1、SendMessage RichTextBox1.hWnd, WM_COPY, 0, 0
(复制RichTextBox1选中文本的内容)
2、SendMessage rtbRichTextBox.hWnd, WM_PASTE, 0, 0(粘贴到须联接的位置)

yijiansong 2003-09-05
  • 打赏
  • 举报
回复
重新定义一次格式
lucifer11 2003-09-05
  • 打赏
  • 举报
回复
谢谢 请举个详细的例子好吗,如何插入文本呢
我是想编一个类似聊天室窗口的程序 ,下面的textbox模拟用户的输入内容然后按用户指定的背景颜色,字体颜色字体 输入到richtextbox中,请问这样的程序是不是拿richtextbox 做好,还有比它好的控件吗?请给一个稍微详细的例子好吗?
麻烦了
James0001 2003-09-05
  • 打赏
  • 举报
回复
那是当然的啦。

直接设置 SelStart 和 SelText 来插入文本。

7,789

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧