文件名称:VC滚动视图(CScrollView类)的局部更新算法示例
文件大小:126KB
文件格式:RAR
更新时间:2017-05-15 17:22:39
VC6 滚动视图 CScrollView Update Region
在使用CScrollView(滚动视图)类时,不需要在其OnDraw/OnPaint中全部进行重绘;只需获取其update region,绘制落在此区域内的对象即可。这样可以提高显示效率,减少闪烁。 在拖动窗口大小时(WM_SIZE消息),update region是整个客户区;在点击或者拖放滚动条时(或者使用了CScrollView::ScrollToPositon函数),update region是相应的局部矩形(即新出现在在窗口中的部分)。不管是那种情况,可以将update region转换至“用户坐标系”,遍历用户在此坐标系中打算绘制的对象,确定哪些对象落在了update region内,以便进行重绘。这样,在CScrollView::OnDraw/OnPaint中仅需绘制少量对象即可。(非update region内的图形由Windows负责填充)
【文件预览】:
ScrollTest
----ScrollTestDoc.h(1KB)
----Resource.h(498B)
----ScrollTestView.h(2KB)
----res()
--------ScrollTest.rc2(402B)
--------Toolbar.bmp(1KB)
--------ScrollTest.ico(1KB)
--------ScrollTestDoc.ico(1KB)
----ScrollTest.plg(1KB)
----ScrollTest.ncb(57KB)
----ScrollTest.h(1KB)
----ScrollTest.cpp(4KB)
----StdAfx.cpp(212B)
----MainFrm.cpp(2KB)
----ScrollTest.clw(2KB)
----ScrollTestDoc.cpp(2KB)
----MainFrm.h(2KB)
----StdAfx.h(1KB)
----ScrollTest.dsp(5KB)
----Debug()
----ScrollTest.rc(10KB)
----ScrollTest.dsw(543B)
----ScrollTestView.cpp(4KB)
----ScrollTest.aps(28KB)
----ReadMe.txt(4KB)
----ScrollTest.opt(303KB)