| 发表于:2007-10-11 17:33:57 楼主 |
原来我使用textbox,程序需要修改textbox中的内容,修改后滚动条位置到了第一行。因为需要当前位置不能变,需将滚动条设置为原来的位置。代码如下: pos = getscrollpos(text1.hwnd, nbar) '得到当前滚动条位置 '.....修改text1的内容 lngret = sendmessage(text1.hwnd, em_linescroll, 0, pos) '恢复滚动条位置。 但我用richtextbox代替textbox后,发现得到的滚动条位置有问题了。原来在textbox中,得到的滚动条位置是几到几十。而在richtextbox时,得到的位置却是几百,几千,因此用sendmessage设置时,只能显示最后一行。 我又用 setscrollpos(richtextbox1.hwnd, nbar, pos, 1),此时,滚动条确实是到原来的位置了。但这个只是滚动条位置变化,显示内容还是显示的第一行。必须在滚动条上点一下,才能显示到原来的位置。 不明白为何在richtextbox中得到的位置和textbox有如此大的差异。 如何才能在richtextbox中将滚动条设置为原来的位置呢? 谢谢! |
|
|
|
|