我想在單行wx.textctrl中強調一些特定的單詞。我通過使用GetTextExtent計算控件中的單詞位置並使用wx.ClintDC繪製線條來完成此操作。如何獲得實際顯示在wx.TextCtrl中的字符?
我的問題開始於TextCtrl中的文本長於控件的大小,例如,如果用戶輸入〜100個字符,他只能看到最後20個字符,如果控件不夠長。
我的問題是:我怎麼能得到一個實際顯示在單行控制中的字符串?或者我該如何計算不顯示的文字寬度(左側),以像素爲單位?
單行文本控件沒有滾動條。 GetInsertionPoint返回文本中插入符號的位置,但不可能將其轉換爲距離控件左邊框的實際距離(以像素爲單位)。
我不想使用TE_RICH或TE_RICH2樣式而不是StyledTextCtrl類,因爲它們不支持從右向左的文本。
謝謝,但正如我寫的,TE_RICH,TE_RICH2和StyledTextCtrl類不支持RTL文本AFAIK。 Ans我不想改變我的應用程序的佈局,只是讓它們在某些控件中輸入RTL文本。 –
您是否嘗試使用富控件或StyledTextCtrl的SetLayoutDirection()來查看它是否工作?你不必改變你的程序。只需寫一個快速的一次性檢查。 –
Scintilla目前在LTR文本和指標的RTL文本顯示方面存在問題(特別是如果組合了RTL和LTR)。 –