| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 579 人关注过本帖
标题:怎样用C语言设计一个类似滚动条的换页功能?
只看楼主 加入收藏
litao31415
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-8-30
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
怎样用C语言设计一个类似滚动条的换页功能?
现在有一个界面,要求只能显示8行,每行22个字符,但是已经保存了的数据的条目数未知(大多50000条),而且数据本身的长度参差不齐(最长4096个字符,但最多显示8(行)*22(字符每行)-3(省略号),不分页显示多余的数据)。我需要制作一个类似滚动条的换页功能,以查看所有数据,并且要求当前选中的数据显示不是一行一行地移动,而是选中的整个项数据显示。譬如:因为现在是获取数据的最后一个,所以有理由让它在界面的最后显示,必须是这一项数据的所有字符都显示出来,当然,最多只显示8*22-3个字符(最后加省略号...)。因为每一项数据的长度不同,有可能使得界面的最上端数据是部分显示。继续向上移动,等到选中最上端时,原来是部分显示的,现在根据刚才的要求,要全部显示,把这一项的所有数据都显示,而此时界面最底下原来全部显示的就会部分显示(最多只显示8行),相当于整一页纸刷新了。现在已知的函数接口是:一个能在显示界面指定的(0,y)坐标上显示一串字符,字符数目大于22能自动换行。存储的数据的长度也是可以获取的,当前数据是第几个也可以获取。还有就是一项数据和它相邻的数据不是在它末尾继续写的,而是在它下一行开头写,以便于区分是不同的数据。我想知道有什么思路可以设计这个模块?
搜索更多相关主题的帖子: C语言 而且 制作 
2014-09-15 12:14
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:7 
方法就是“在窗框中看景色”,你想象一下我说这个比喻就知道怎么做。

授人以渔,不授人以鱼。
2014-09-15 12:24
茅十八
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:35
专家分:123
注 册:2014-3-11
收藏
得分:7 
1 要计算出你的窗口客户区的大小,即“一页”的大小,也就是一页能显示几行几列,在此之前 要知道字体的宽度和高度
2 把你所需的显示的内容换算成总共有几行几列
3 写WM_PAINT ,把当前窗体客户区 从第几行第几列到第几行第几列的内容 显示出来 ,这显示的是“当前页”的内容
4 要显示哪一页  实现“换页”功能 ,就要把  “从第几行第几列到第几行第几列” 当成函数参数传递 ,告诉WM_PAINT 要显示“哪一页”

[ 本帖最后由 茅十八 于 2014-9-15 12:45 编辑 ]

个人QQ:1789851851,有学习问题,欢迎找我讨论,另外Win32 SDK开发群:179492890
2014-09-15 12:42
快速回复:怎样用C语言设计一个类似滚动条的换页功能?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.038198 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved