VC滚动视图(CScrollView类)的局部更新算法示例
- 资源大小:205.32 kB
- 上传时间:2021-06-29
- 下载次数:0次
- 浏览次数:1次
- 资源积分:1积分
-
标 签:
c++
算法
vc
更新
示例
视图
滚动
局部
资 源 简 介
在使用CScrollView(滚动视图)类时,不需要在其OnDraw/OnPaint中全部进行重绘;只需获取其update region,绘制落在此区域内的对象即可。这样可以提高显示效率,减少闪烁。
在拖动窗口大小时(WM_SIZE消息),update region是整个客户区;在点击或者拖放滚动条时(或者使用了CScrollView::ScrollToPositon函数),update region是相应的局部矩形(即新出现在在窗口中的部分)。不管是那种情况,可以将update region转换至“用户坐标系”,遍历用户在此坐标系中打算绘制的对象,确定哪些对象落在了update region内,以便进行重绘。这样,在CScrollView::OnDraw/OnPaint中仅需绘制少量对象即可。(非update region内的图形由Windows负责填充)
文 件 列 表
scrollView
scrollView
Scrollview.sln