大文件,如何手动控制滚动条?

a469367940 2009-11-30 08:34:36
怎样控制滚动条啊?因为文件很大,但是内存资源明显不够,所以需要将文件分页显示,就是当客户拖动滚动条到一个点,我就必须显示出对应的页面。
这样做的话就可以保证每次花费的代价仅仅只是存放一个页面大小的内存
可是,怎样控制滚动条呢?
这个技术借鉴了诺基亚和微软在大容量文件处理上面的优劣差分,我认为如果能实现这个技术,那么文件再大,G或T都可以显示出来!
当然,肯定会有高手会使用内存映射或者文档序列化的方法去操作,但是我认为这个方法似乎更优秀!
...全文
126 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
MoXiaoRab 2009-12-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 a469367940 的回复:]
根据文件大小算出滚动条多长?如何计算滚动条的大小啊,这个我想了半天就是不知道怎么设置!
[/Quote]
设置滚动条还不简单,
void SetScrollRange( int nMinPos, int nMaxPos, BOOL bRedraw = TRUE );
设置滚动条的范围。
blackboycpp 2009-12-01
  • 打赏
  • 举报
回复
看<Windows程序设计>有关ScrollBar的东西
a469367940 2009-12-01
  • 打赏
  • 举报
回复
根据文件大小算出滚动条多长?如何计算滚动条的大小啊,这个我想了半天就是不知道怎么设置!
zhao1756 2009-11-30
  • 打赏
  • 举报
回复
你这个问题分数有点少,呵呵。
1。必须先知道你要以屏显示多少算出和屏幕的比例
2.根据文件大小算出滚动条多长。
3.设置滚动的大小,页的大小
4.根据页得到数据显示
newton2069 2009-11-30
  • 打赏
  • 举报
回复

AfxGetMainWnd()->PostMessage(WM_VSCROLL,SB_LINEUP,0);
AfxGetMainWnd()->PostMessage(WM_VSCROLL,SB_LINEDOWN,0);

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧