0
我自定義繪製一個文本框,現在我正在實現用戶可以點擊一行並將光標移動到他點擊的位置的部分。獲取基於像素偏移的字符串索引
我知道如何獲得他點擊的文本行,因爲字符高度在所有字體中是恆定的,但不是列,因爲我不知道如何說「讓我把所有可以繪製的文本在像素數量之前「,並且因爲字符寬度不一致,除非您使用固定寬度的字體,這不是保證。
所以我有點從我繪製字符串(0
),然後我有點用戶點擊。我如何獲得他們點擊的字符的字符串索引?
其他信息:我通過將行存儲在List中然後迭代列表並在每行上使用Graphics.DrawString
來繪製文本。
是否所有的文本編輯都必須這樣做?也就是說,RichTextBox是這樣做的嗎?看起來很駭人。 –
RichTextBox有一個GetCharFromPosition方法。這使用本機窗口API消息來獲取字符索引。 –
有什麼方法可以使用它?基礎API消息如何做到這一點? –