我试图在单行 wx.textctrl 中强调一些特定的单词。我通过使用 GetTextExtent 计算控件中单词的位置并使用 wx.ClintDC 绘制线条来做到这一点。
当 TextCtrl 中的文本比控件的大小长时,我的问题就开始了,例如,如果用户输入 ~100 个字符,如果控件不够长,他只能看到最后 20 个字符。
我的问题是:如何获得实际显示在单行控件中的字符串?或者如何计算未显示(左侧)的文本的宽度(以像素为单位)?
单行文本控件没有滚动条。GetInsertionPoint 返回文本中插入符号的位置,但不可能将其转换为距控件左边框的实际距离(以像素为单位)。
我不想使用 TE_RICH 或 TE_RICH2 样式而不是 StyledTextCtrl 类,因为它们不支持从右到左的文本。