Какой самый простой способ сделать StyledTextCtrl похожим на TextCtrl?
Единственными дополнительными функциями, которые мне нужны от StyledTextCtrl, являются следующие:
- Изменить ширину каретки с помощью
SetCaretWidth(pixels)
- Изменить цвет каретки с помощью
self.SetCaretForeground(colour)
- Измените весь цвет фона на прозрачный (или альфа). Я не знаю, как это сделать.
- Изменить шрифт (лицо и размер). Я тоже этого не знаю.
Кроме этого я хочу, чтобы он вел себя точно так же, как обычный TextCtrl. то есть. Нет полос прокрутки, нет мультилиней и т. Д. Здесь много информации, но она огромна! Так сколько кода мне нужно написать, прежде чем я застрелюсь в ногу?
Здесь есть образец модели для быстрого тестирования.
1 ответ
Вы можете сделать (4) с равниной wxTextCtrl
без каких-либо проблем, так что если вы можете жить с этим, я настоятельно рекомендую использовать вместо этого стандартный элемент управления. Вы можете сделать окно прозрачным, но в настоящее время это реализовано не во всех портах (особенно в wxMSW). Две другие точки крайне маловероятны для стандартного элемента управления, поскольку предполагается, что он использует стандартную каретку.
Если вам действительно нужны (1) и (2), вам придется использовать не родной wxStyledTextCtrl
но тогда вам действительно следует отказаться от любой идеи, чтобы заставить ее вести себя точно так же, как и встроенный элемент управления, это не будет работать.