【问题标题】:VB6: Change focus color of RichTextBox (not SelColor)VB6:更改 RichTextBox 的焦点颜色(不是 SelColor)
【发布时间】:2012-10-18 06:21:51
【问题描述】:
有人知道在 VB6 中是否可以更改 RichTextBox 中的焦点颜色?我指的是用光标标记文本时周围的颜色。我不是在谈论 SelColor 属性。
焦点颜色默认为黑色(与常规 TextBox 不同),现在我尝试在 RichTextBox 中实现黑色反转文本,默认黑色焦点颜色无助于真正显示用户选择的内容。
有人知道这个问题吗?提前致谢!
阿提米多
【问题讨论】:
标签:
vb6
colors
focus
richtextbox
【解决方案1】:
焦点颜色默认为黑色...
不,不是。
这不是“焦点颜色”,因为焦点意味着与选择完全不同的东西。
RichEdit 控件(如 RichTextBox 中的控件)通过补充选择中每个字符的背景色和前景色来显示选择。
白色背景上的黑色文本会反转以产生您所指的效果。但是黑色背景上的蓝色文本完全是另外一回事。
为了不让事情复杂化,整个文档都有自己的背景色。
如果您想在黑底白字上使用白字,选择它只会反转为白底黑字。您对此无能为力,而且很难想象您希望得到什么 - 选定的文本会跳出 3D 阴影???
试图截取选择并重新着色那里的文本可能是不切实际的。我相信你可以做到,但需要付出很多努力,而且结果可能很生涩。
SelColor 属性仅有助于设置文本的前景色。要设置背景色(即突出显示,不要与选择混淆)需要子类化。不过子类化很简单,不需要像大多数人认为的子类化所涉及的那样挂钩消息处理。