可滚动窗口是如何处理WM_PAINT和WM_VSCROLL消息的呢?是吧整个视图的内容重绘一遍吗?如果一个文件有几百页的话,这样的方案好像行不通。如果是用现成的控件的话就不用考虑这些问题,但是Windows又是如何实现的呢?
   烦请各路高手赐教,不胜感激!(本人邮箱[email protected])

解决方案 »

  1.   

    先用scrollwindow卷动屏幕,然后强制刷新未被卷动操作覆盖的区域。
      

  2.   

    不过如何确定屏幕可见部分的内容呢,比如IE显示一个很长的HTML文件,当你拖动滚动条时IE是如何重绘当前视图的呢?
      

  3.   

    你只要合理地设置滚动条的max_range和min_range,重绘的时候就可以根据当前滑块的位置计算出文件的哪一部分是当前可见的,你只要绘制当前可见的部分就行了。
      

  4.   

    HTML文件中的每一行和屏幕上的滚动行存在一一对应关系吗?好像没有吧!