0
我自定义绘制一个文本框,现在我正在实现用户可以点击一行并将光标移动到他点击的位置的部分。获取基于像素偏移的字符串索引
我知道如何获得他点击的文本行,因为字符高度在所有字体中是恒定的,但不是列,因为我不知道如何说“让我把所有可以绘制的文本在像素数量之前“,并且因为字符宽度不一致,除非您使用固定宽度的字体,这不是保证。
所以我有点从我绘制字符串(0
),然后我有点用户点击。我如何获得他们点击的字符的字符串索引?
其他信息:我通过将行存储在List中然后迭代列表并在每行上使用Graphics.DrawString
来绘制文本。
是否所有的文本编辑都必须这样做?也就是说,RichTextBox是这样做的吗?看起来很骇人。 –
RichTextBox有一个GetCharFromPosition方法。这使用本机窗口API消息来获取字符索引。 –
有什么方法可以使用它?基础API消息如何做到这一点? –