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