Я пытаюсь подчеркнуть некоторые конкретные слова в одной строке wx.textctrl.Я делаю это путем вычисления положения слова в элементе управления с помощью GetTextExtent и рисования линий с использованием wx.ClintDC.
Моя проблема начинается, когда текст в TextCtrl длиннее, чем размер элемента управления, например, если пользовательский ввод~ 100 символов он может видеть только 20 последних символов, если контроль не достаточно длинный.
Мой вопрос: как мне получить строку, которая фактически отображается в однострочном элементе управления?или как рассчитать ширину текста, который не отображается (слева) в пикселях?
В однострочном текстовом элементе управления нет полосы прокрутки.GetInsertionPoint возвращает позицию каретки в тексте, но невозможно перевести ее на фактическое расстояние в пикселях от левой границы элемента управления.
Я не хочу использовать стили TE_RICH или TE_RICH2, а не класс StyledTextCtrl, потому что онине поддерживает текст справа налево.