VS2005+WINCE6.0开发 文字滚动显示

agdwhg 2013-12-31 02:36:50
开发一个画面,画面大小800*480,先绘背景图片(PNG 800*480),然后在RECT(22,130,470,682)中绘文字
由于文字内容很多,一页显示不完,所以需要做滚动效果(自下往上滚动)

只做到一行一行的文字滚动,不能实现微调(就是第一行文字显示下半部分,最后一行文字显示上半部分那种),查了一些资料,建议用memDC来做,具体怎么做不明白,而且滚动时,背景图片是固定不动的,只有文字滚动效果,如果使用memDC该怎么做,还是有其他的好方法?求助
...全文
100 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
boylafong 2014-01-02
  • 打赏
  • 举报
回复
引用 3 楼 agdwhg 的回复:
[quote=引用 1 楼 boylafong 的回复:] 我以前做过类似的,是把文本文件放到一个框里面,鼠标滚轮实现滚动效果。 1:先把文本内容都取出来。 2:根据框的宽度,确定文本一行显示的长度,然后把每一行数据保存下来。 3:所有文本根据多少行,记录下行号(根据行号可以知道要显示哪一行的数据) 4:开始显示第一行(把第一行数据到能显示的条数数据拷贝出来,比如一框可以显示10条),鼠标每滚动一次显示后面10条(显示2-11条的数据) 5:数据显示就是把10条数据拷贝出来,在dc上显示出来。
鼠标点击,可以上下拖动[/quote] 这个没什么区别啊。 因为用的是双缓存,所有拷贝画布到主DC的时候把起点设置好就可了
agdwhg 2014-01-02
  • 打赏
  • 举报
回复
自己搞定了,谢谢啦
boylafong 2014-01-02
  • 打赏
  • 举报
回复
引用 5 楼 agdwhg 的回复:
[quote=引用 4 楼 boylafong 的回复:] [quote=引用 3 楼 agdwhg 的回复:] [quote=引用 1 楼 boylafong 的回复:] 我以前做过类似的,是把文本文件放到一个框里面,鼠标滚轮实现滚动效果。 1:先把文本内容都取出来。 2:根据框的宽度,确定文本一行显示的长度,然后把每一行数据保存下来。 3:所有文本根据多少行,记录下行号(根据行号可以知道要显示哪一行的数据) 4:开始显示第一行(把第一行数据到能显示的条数数据拷贝出来,比如一框可以显示10条),鼠标每滚动一次显示后面10条(显示2-11条的数据) 5:数据显示就是把10条数据拷贝出来,在dc上显示出来。
鼠标点击,可以上下拖动[/quote] 这个没什么区别啊。 因为用的是双缓存,所有拷贝画布到主DC的时候把起点设置好就可了[/quote] 我试了一下,没有成功,有代码嘛?[/quote] 代码早没有了 = =! 其实很简单啊: 第一次起来位置在开头,pDC->BitBlt是从0,0开始 鼠标按下的时候,记录下point的y坐标,假设为x1 鼠标移动的时候,再记录下point的y坐标,假设为x2 移动的时候用BitBlt的x坐标从0+(x2-x1)开始不就可以了。
agdwhg 2014-01-02
  • 打赏
  • 举报
回复
引用 4 楼 boylafong 的回复:
[quote=引用 3 楼 agdwhg 的回复:] [quote=引用 1 楼 boylafong 的回复:] 我以前做过类似的,是把文本文件放到一个框里面,鼠标滚轮实现滚动效果。 1:先把文本内容都取出来。 2:根据框的宽度,确定文本一行显示的长度,然后把每一行数据保存下来。 3:所有文本根据多少行,记录下行号(根据行号可以知道要显示哪一行的数据) 4:开始显示第一行(把第一行数据到能显示的条数数据拷贝出来,比如一框可以显示10条),鼠标每滚动一次显示后面10条(显示2-11条的数据) 5:数据显示就是把10条数据拷贝出来,在dc上显示出来。
鼠标点击,可以上下拖动[/quote] 这个没什么区别啊。 因为用的是双缓存,所有拷贝画布到主DC的时候把起点设置好就可了[/quote] 我试了一下,没有成功,有代码嘛?
agdwhg 2013-12-31
  • 打赏
  • 举报
回复
引用 1 楼 boylafong 的回复:
我以前做过类似的,是把文本文件放到一个框里面,鼠标滚轮实现滚动效果。 1:先把文本内容都取出来。 2:根据框的宽度,确定文本一行显示的长度,然后把每一行数据保存下来。 3:所有文本根据多少行,记录下行号(根据行号可以知道要显示哪一行的数据) 4:开始显示第一行(把第一行数据到能显示的条数数据拷贝出来,比如一框可以显示10条),鼠标每滚动一次显示后面10条(显示2-11条的数据) 5:数据显示就是把10条数据拷贝出来,在dc上显示出来。
鼠标点击,可以上下拖动
agdwhg 2013-12-31
  • 打赏
  • 举报
回复

进行微调,一行文字只显示一部分,如下:


boylafong 2013-12-31
  • 打赏
  • 举报
回复
我以前做过类似的,是把文本文件放到一个框里面,鼠标滚轮实现滚动效果。 1:先把文本内容都取出来。 2:根据框的宽度,确定文本一行显示的长度,然后把每一行数据保存下来。 3:所有文本根据多少行,记录下行号(根据行号可以知道要显示哪一行的数据) 4:开始显示第一行(把第一行数据到能显示的条数数据拷贝出来,比如一框可以显示10条),鼠标每滚动一次显示后面10条(显示2-11条的数据) 5:数据显示就是把10条数据拷贝出来,在dc上显示出来。

19,468

社区成员

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

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