这个问题考虑了很长时间,一直不太明白如何解决,听说这里高手不少,来问问。:)我的界面里有个RichEdit控件,里面可以编辑文字、插入图片等操作,需要以二进制流的形式保存到数据库中。也需要从数据库读取出来。如果仅仅放上一个RichEdit控件,有个滚动条,来回读取、编辑、保存,这些都好实现。不过现在我需要这样的功能:
 在我的RichEdit控件中不出现滚动条,每次只是显示该RichEdit能显示的部分,然后点击  “下一页 ” 按钮再把下一页的内容显示到RichEdit里。其实就是如何实现分页的功能!!!到底如何设置页码游标?数据库中又是什么结构?有几个事情需要考虑的:
1 每一页的文件存储大小是不定的,因为里面有可能有很多空行,也可能有很多图片。如果每页的文件流大小是固定的话,就很容易了。:)2 如果我显示的是第九页,编辑它,给了它很多空行,那么后面所有的页都是要变化的。3 编辑一页,给了个空行,在调整页游标的当中,我如何判断游标不会设置到图片流的中间?谢谢!!!!!!

解决方案 »

  1.   

    我不知道这个和映射模式有关系吗? 提醒一下了.
    还有, 也许你要自己计算高度了, Font'Height, 行间距什么的.<估计没有这么麻烦>
      

  2.   

    其实如果你用SDK的话,一个滚动条或一个按钮,或一个其他什么都无所谓,方法是一样的
      

  3.   

    >>算高度->分页,好像不行吧?
    >>你说的高度指什么高度?通过hdc,可以得到你要显示的文字的项素高度(GetTextMetrics),图片不用说了吧。
      

  4.   

    guoqiang0429(yufu0429),[email protected],谢谢!!!
      

  5.   

    nonocast(如果没有如果) ,
    没有看过设计模式,哪里有电子的下载,看看先。
      

  6.   

    我觉得下一页的问题你可以让滚动条响应PAGE_DOWN,PAGE_UP的事件(让滚动条隐藏).
    其实你可以把WORD的文本编辑组件用到你的工程里面,不要用RICHEDIT了!你要实现的功能是比较复杂的,还是不要自己实现吧!
      

  7.   

    TO YCTek(罗马不是一天建成的!)
    我没有这本书的电子版
    不过你可以到google上搜一下
    其实买一本看看也是很值得的
    上面的例子虽然和你的要求有些出入
    不过你应该可以从中得到一些启示