0

有人知道 VB6 中是否有办法更改 RichTextBox 中的焦点颜色?我指的是用光标标记文本时包围的颜色。我不是在谈论 SelColor 属性。

默认情况下焦点颜色为黑色(与常规 TextBox 不同),现在我尝试在 RichTextBox 中实现黑色反转文本,默认的黑色焦点颜色无助于真正显示用户选择的内容。

有人对这个问题有所了解吗?提前致谢!

阿替米多

4

1 回答 1

0

焦点颜色默认为黑色...

不,不是。

这不是“焦点颜色”,因为焦点意味着与选择完全不同的东西。

RichEdit 控件(如 RichTextBox 中的控件)通过补充选择中每个字符的背景色和前景色来显示选择。

白色背景上的黑色文本会反转以产生您所指的效果。但是黑色背景上的蓝色文本完全是另外一回事。

为了使事情复杂化,整个文档都有自己的背景色。

如果您想使用黑底白字,选择它只会反转为白底黑字。您对此无能为力,而且很难想象您希望得到什么 - 选定的文本会通过 3D 阴影跳出???

试图截取选择并重新着色那里的文本可能是不切实际的。我相信你可以做到,但需要付出很多努力,而且结果可能很生涩。

SelColor 属性仅有助于设置文本的前景色。要设置背景色(即突出显示,不要与选择混淆)需要子类化。虽然子类化很容易,但不需要像大多数人认为的子类化所涉及的那样挂钩消息处理。

于 2012-10-19T09:24:28.353 回答