使vb6.0 textbox中选中的字体颜色改变,不是用richtextbox

2025-04-06 16:27:19
推荐回答(1个)
回答1:

TextBox是用来编辑纯文本(Text)数据的,而纯文本是不带任何格式(或者说样式)的,你只能改变它们的整体格式比如颜色(通过设置textbox控件),但要想设置其中某一段内容的格式则是不可能的。
RichTextBox则是用来编辑“富文本”(RichText)的,这种文本中可以包含格式信息,因此它就可以单独设置某一段的格式。
一个典型的例子就是:Windows系统中的“记事本”是用来编辑纯文本的,而“写字板”则是用来编辑富文本的。(其实记事本中用的就是TextBox控件,而写字板用的就是RichTextBox控件)你可以发现在记事本中就是无法设置某个字(或某一段文字)的字体、颜色等等样式的,你以为这是强大的微软公司设计上的失误吗?当然不是,因为这就是由纯文本的性质所决定的,纯文本之所以叫“纯”,就是因为它是不需要任何格式的!
所以我劝你最好不要在这方面纠结了,要想实现你的目的(其实我也不知道你为什么要这么做),你一定要改用其他方式。当然,我也不建议你用富文本,它有点过时了,最好改用“超文本”,即HTML,能够实现更多的更丰富多彩的效果,包括你能想象到的以及想象不到的……

补充说明:利用API的消息处理函数确实能实现你要的效果,但是你可能要付出高昂的代价(比如程序的大部分代码都可能是在处理这个事情的),而且效果很不稳定的(比如文字一旦修改效果就会消失)。目前为止还没见有人写出实用的代码,因为确实意义不大。