怎样用C语言设计一个类似滚动条的换页功能?
现在有一个界面,要求只能显示8行,每行22个字符,但是已经保存了的数据的条目数未知(大多50000条),而且数据本身的长度参差不齐(最长4096个字符,但最多显示8(行)*22(字符每行)-3(省略号),不分页显示多余的数据)。我需要制作一个类似滚动条的换页功能,以查看所有数据,并且要求当前选中的数据显示不是一行一行地移动,而是选中的整个项数据显示。譬如:因为现在是获取数据的最后一个,所以有理由让它在界面的最后显示,必须是这一项数据的所有字符都显示出来,当然,最多只显示8*22-3个字符(最后加省略号...)。因为每一项数据的长度不同,有可能使得界面的最上端数据是部分显示。继续向上移动,等到选中最上端时,原来是部分显示的,现在根据刚才的要求,要全部显示,把这一项的所有数据都显示,而此时界面最底下原来全部显示的就会部分显示(最多只显示8行),相当于整一页纸刷新了。现在已知的函数接口是:一个能在显示界面指定的(0,y)坐标上显示一串字符,字符数目大于22能自动换行。存储的数据的长度也是可以获取的,当前数据是第几个也可以获取。还有就是一项数据和它相邻的数据不是在它末尾继续写的,而是在它下一行开头写,以便于区分是不同的数据。我想知道有什么思路可以设计这个模块?