【自绘编辑框有关问题】文字长度超过编辑框宽度时如何计算起始的绘制位置

【自绘编辑框问题】文字长度超过编辑框宽度时怎么计算起始的绘制位置?
在编写自绘编辑框的时候,遇到一个很麻烦的问题,看看大家有没有什么好方法?

当在编辑框中输入的文字长度超过编辑框宽度时,怎么计算文字起始的绘制位置?当按下键盘上的END键时,此时光标来到的文字末尾,必然有一部分文字是被滚动到当前窗口的可视区域外部的。

尤其是当输入光标在编辑框中间的时候,很可能前面被隐藏了一部分,后面也被隐藏了一部分,我必须要确定从哪个字符开始调用DrawText进行文字的绘制,或者说确定从那个坐标开始绘制(前提是把所有的文字先绘制到一个HBITMAP里面,然后再按坐标复制)。

系统自带的默认编辑框是如何实现的??
自绘 编辑框

------解决方案--------------------
【自绘编辑框有关问题】文字长度超过编辑框宽度时如何计算起始的绘制位置【自绘编辑框有关问题】文字长度超过编辑框宽度时如何计算起始的绘制位置

http://pan.baidu.com/share/link?shareid=298024&uk=187225499   我曾经写出来的。
虽然还有BUG 但是也算好的了。 是通过数组。。 记录每个字符的宽度  然后在计算。