这个文本阅读控件和delphi带的文本编辑控件如TMemo是不一样的,当给定一篇大文章时,TMemo会全部加载,并通过上下滚动来查看全部内容,但是我想要的这个控件要求没有滚动条,在其区域内只能显示一页内容,点击一个按钮后或执行一个命令后,再加载下一页的内容到这个区域,上一页的内容已经被清空或者隐藏,我现在毫无头绪,不知道用什么来做,来进行分页,不知道我表述的是否清楚?最好该控件能够控制每一行的颜色。

解决方案 »

  1.   

    不用什么控件吧。自己在memo里每次读一定行数得了。
      

  2.   

    禁掉Memo 或 RichEdit的滚动条按下一页或上一页时给其发个按键消息SendMessage(Memo.Handle,WM_KEYUP,VK_PAGEDOWN,0); //VK_XXXX的不知对不对还烦你自已查一下控制每一行颜色可以用RichEdit 实现
      

  3.   

    to kuki84(???) :
      我的文章是放在数据库中的,读出来后可能放在一个字符串变量中,不知道用Memo如何控制按行来读?能不能具体点,谢谢。
      

  4.   

    to skertone:
      这个主意不错。我还是有个小问题,就是到了如何判断是否到了最后一页,如果是,就不必再发送page down消息,相关的按钮就会变灰,谢谢。
      

  5.   

    你计算每行的字符数,每次显示多少自己写啊。memo如何控制按行来读???? 我觉得按什么来读是读者的眼睛控制的。
      

  6.   

    哪你可以换用 EM_SCROLL 消息 WParam 可以指定是行滚还是页滚SB_LINEDOWN    //Scrolls down one line.
    SB_LINEUP             //Scrolls up one line.
    SB_PAGEDOWN    //Scrolls down one page.
    SB_PAGEUP             //Scrolls up one page.这个消息是有返回值滴Return ValuesIf the message is successful, the high-order word of the return value is TRUE, and the low-order word is the number of lines that the command scrolls. The number returned may not be the same as the actual number of lines scrolled if the scrolling moves to the beginning or the end of the text. If the nScroll parameter specifies an invalid value, the return value is FALSE.