Какой самый простой способ сделать StyledTextCtrl похожим на TextCtrl?

Единственными дополнительными функциями, которые мне нужны от StyledTextCtrl, являются следующие:

  1. Изменить ширину каретки с помощью SetCaretWidth(pixels)
  2. Изменить цвет каретки с помощью self.SetCaretForeground(colour)
  3. Измените весь цвет фона на прозрачный (или альфа). Я не знаю, как это сделать.
  4. Изменить шрифт (лицо и размер). Я тоже этого не знаю.

Кроме этого я хочу, чтобы он вел себя точно так же, как обычный TextCtrl. то есть. Нет полос прокрутки, нет мультилиней и т. Д. Здесь много информации, но она огромна! Так сколько кода мне нужно написать, прежде чем я застрелюсь в ногу?


Здесь есть образец модели для быстрого тестирования.

1 ответ

Решение

Вы можете сделать (4) с равниной wxTextCtrl без каких-либо проблем, так что если вы можете жить с этим, я настоятельно рекомендую использовать вместо этого стандартный элемент управления. Вы можете сделать окно прозрачным, но в настоящее время это реализовано не во всех портах (особенно в wxMSW). Две другие точки крайне маловероятны для стандартного элемента управления, поскольку предполагается, что он использует стандартную каретку.

Если вам действительно нужны (1) и (2), вам придется использовать не родной wxStyledTextCtrl но тогда вам действительно следует отказаться от любой идеи, чтобы заставить ее вести себя точно так же, как и встроенный элемент управления, это не будет работать.

Другие вопросы по тегам