问候互联网的集体奇才。
我试图在 TEdit 中强调特定的单词(实际上是来自 Berg NextSuite 的 TNxEdit - 但它是 TEdit 的派生词)。然而,为了做到这一点,我需要知道所说单词的像素坐标。
如果文本的开头可见,这很容易做到,但是如果文本的开头已经从结尾滚动,我不知道该怎么做。
有没有办法直接确定给定单词的确切坐标?如果做不到这一点,确定哪些文本在编辑中可见,哪些不可见?或者其他一些巧妙的方法。
Edit1:涵盖一些当前的答案:
要求是在 TNxGrid 组件的列上实现拼写检查器,这将我限制为 TNxEdit。如果我可以选择我使用的组件,我现在会切换 :(
我可以画线。TNxEdit 有一个画布,只要我能计算出正确的坐标,我就可以很高兴地绘制下划线。
如果编辑文本的开头是可见的,即前面没有滚动,那么我可以使用 TextExtent 确定正确的开始位置和行的长度。
问题出现在文本开头滚动到前面的场景中。无法确定从前面滚动了多少意味着我无法计算出该行的起始位置。如果要突出显示的单词也部分滚动,则行长会成为问题。