使 StyledTextCtrl 看起来像 TextCtrl 的最简单方法是什么?
What is the easiest way to make StyledTextCtrl look like a TextCtrl?
我需要 StyledTextCtrl 的唯一附加功能如下:
- 使用
SetCaretWidth(pixels)
更改插入符宽度
- 使用
self.SetCaretForeground(colour)
更改插入符号颜色
- 将整个背景颜色更改为透明(或 alpha)。我不知道该怎么做。
- 更改字体(字体和大小)。这个我也不知道
除此之外,我希望它的行为与普通 TextCtrl. ie. No scrollbars, no multilines etc. A lot of info here 完全一样,但它实在是太大了!那么我要写多少代码才搬起石头砸自己的脚?
有一个示例模型 here,用于快速测试。
您可以使用普通的 wxTextCtrl
执行 (4) 而不会出现任何问题,因此如果您可以忍受这一点,我强烈建议您只使用标准控件。您可以 make the window transparent 但这目前并未在所有端口中实现(尤其是在 wxMSW 中)。其他两点在标准控件中极不可能实现,因为它实际上应该使用标准插入符号。
如果你真的需要 (1) 和 (2),你将不得不使用非原生的 wxStyledTextCtrl
但是你真的应该放弃任何让它的行为与原生控件完全一样的想法,它赢了没用。
我需要 StyledTextCtrl 的唯一附加功能如下:
- 使用
SetCaretWidth(pixels)
更改插入符宽度
- 使用
self.SetCaretForeground(colour)
更改插入符号颜色
- 将整个背景颜色更改为透明(或 alpha)。我不知道该怎么做。
- 更改字体(字体和大小)。这个我也不知道
除此之外,我希望它的行为与普通 TextCtrl. ie. No scrollbars, no multilines etc. A lot of info here 完全一样,但它实在是太大了!那么我要写多少代码才搬起石头砸自己的脚?
有一个示例模型 here,用于快速测试。
您可以使用普通的 wxTextCtrl
执行 (4) 而不会出现任何问题,因此如果您可以忍受这一点,我强烈建议您只使用标准控件。您可以 make the window transparent 但这目前并未在所有端口中实现(尤其是在 wxMSW 中)。其他两点在标准控件中极不可能实现,因为它实际上应该使用标准插入符号。
如果你真的需要 (1) 和 (2),你将不得不使用非原生的 wxStyledTextCtrl
但是你真的应该放弃任何让它的行为与原生控件完全一样的想法,它赢了没用。