Как проще всего сделать StyledTextCtrl похожим на TextCtrl?

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

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

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


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


person Renae Lider    schedule 24.08.2015    source источник


Ответы (1)


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

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

person VZ.    schedule 24.08.2015
comment
Спасибо. Я использую TextCtrl в данный момент. Это скорее обновление, которое я хотел бы попробовать, если это возможно. До сих пор я не смог добиться никакого прогресса. - person Renae Lider; 24.08.2015