【自绘编辑框有关问题】文字长度超过编辑框宽度时如何计算起始的绘制位置
【自绘编辑框问题】文字长度超过编辑框宽度时怎么计算起始的绘制位置?
在编写自绘编辑框的时候,遇到一个很麻烦的问题,看看大家有没有什么好方法?
当在编辑框中输入的文字长度超过编辑框宽度时,怎么计算文字起始的绘制位置?当按下键盘上的END键时,此时光标来到的文字末尾,必然有一部分文字是被滚动到当前窗口的可视区域外部的。
尤其是当输入光标在编辑框中间的时候,很可能前面被隐藏了一部分,后面也被隐藏了一部分,我必须要确定从哪个字符开始调用DrawText进行文字的绘制,或者说确定从那个坐标开始绘制(前提是把所有的文字先绘制到一个HBITMAP里面,然后再按坐标复制)。
系统自带的默认编辑框是如何实现的??
------解决方案--------------------


http://pan.baidu.com/share/link?shareid=298024&uk=187225499 我曾经写出来的。
虽然还有BUG 但是也算好的了。 是通过数组。。 记录每个字符的宽度 然后在计算。
在编写自绘编辑框的时候,遇到一个很麻烦的问题,看看大家有没有什么好方法?
当在编辑框中输入的文字长度超过编辑框宽度时,怎么计算文字起始的绘制位置?当按下键盘上的END键时,此时光标来到的文字末尾,必然有一部分文字是被滚动到当前窗口的可视区域外部的。
尤其是当输入光标在编辑框中间的时候,很可能前面被隐藏了一部分,后面也被隐藏了一部分,我必须要确定从哪个字符开始调用DrawText进行文字的绘制,或者说确定从那个坐标开始绘制(前提是把所有的文字先绘制到一个HBITMAP里面,然后再按坐标复制)。
系统自带的默认编辑框是如何实现的??
自绘
编辑框
------解决方案--------------------
http://pan.baidu.com/share/link?shareid=298024&uk=187225499 我曾经写出来的。
虽然还有BUG 但是也算好的了。 是通过数组。。 记录每个字符的宽度 然后在计算。