インターネットの集合的な不思議な人に挨拶します。
TEdit(実際にはBerg NextSuiteのTNxEditですが、TEditの派生語です)で特定の単語に下線を付けようとしています。ただし、これを行うには、その単語のピクセル座標を知る必要があります。
これは、テキストの先頭が表示されている場合はかなり簡単ですが、テキストの先頭が最後からスクロールされている場合は、その方法を理解できません。
特定の単語の正確な座標を直接決定する方法はありますか?それができない場合、編集で表示されるテキストと表示されないテキストを判別しますか?または他の独創的な方法。
編集1:現在の回答のいくつかをカバーするには:
要件は、TNxGridコンポーネントの列にスペルチェッカーを実装することです。これにより、TNxEditに制限されます。使用するコンポーネントを選択できれば、今までに切り替えていただろう:(
線画ができます。TNxEditにはキャンバスがあり、正しい座標を計算できるので、非常に楽しく下線を描くことができます。
編集テキストの開始が表示されている場合、つまり前面からスクロールしない場合は、TextExtentを使用して正しい開始位置と行の長さを判断できます。
この問題は、テキストの先頭が前面からスクロールアウトされたシナリオで発生します。前面からどれだけスクロールされているかを判断できないということは、ラインの開始位置を特定できないことを意味します。ハイライトしたい単語も部分的にスクロールすると、行の長さが問題になります。