关于文本框控件设计的一些问题
文本控件如何去监控,鼠标点击对应文本段落的位置。
举例来说,我点击了一个文本框中的某个位置,需要将光标移动到这个位置最近的一个字符间隔之间
CSDN牛逼,如果我点了B字符靠右边的地方,我希望光标移动到N与“牛”之间。
这种功能的设计思路是怎样的?
我想到了一个方式是先初始化所有汉字以外的符号的大小宽度,由于汉字的大小通常来说对于同一字体是一致的,所以只知道字体的大小。然后根据鼠标点击的位置,用文本去拼长度,拼到一个距离最近的字符就是光标应该的位置。
但这总作法感觉效率很低,文本短还好说,文本太长了,即便用二分去找,效率其不是也会很感人
所以不知道有没有大佬能提供一个思路参考一下。