如何象Readbook那样控制滚动条的位置?(100分)

  • 主题发起人 主题发起人 sonicyouth
  • 开始时间 开始时间
S

sonicyouth

Unregistered / Unconfirmed
GUEST, unregistred user!
就一个窗体,里头摆一个Richedit控件,并使它保持与窗体同大小
Richedit控件倒是有一个关于滚动条的属性:
不过似乎只能选择有还是没有,或者水平还是垂直.
 
是啊……你什么意思……不就是把RichEdit1.Align设置成Client么?
 
请说清楚一些!
 
你想干什么? 把 Scrollbar 放到上面吗?呵呵
 
估计这位老兄的意思是想设定RichEdit上的Scrollbar的初始值。
其实不需要设定Scrollbar,可以直接把RichEdit滚动到你要去的地方,
Scrollbar会自动同步的。
当然你也可以自己放一个Scrollbar,用程序使它和RichEdit同步。
将RichEdit滚动到指定的行和列:
RichEdit1.SelStart := RichEdit1.Perform(EM_LINEINDEX, Row, 0) + column;
RichEdit1.Perform(EM_SCROLLCARET, 0, 0);
 
你是想文本自动上卷吧?我没有写过这样的程序,但是你读取鼠标所在的
位置,然后计算一个上卷速度,不就可以写代码让它自动上卷吗?
不过ReadBook好象不是用的RichEdit控件,因为它可以显示文本、HTML
等等,RichEdit办不到。
 
ReadBook是自己写的代码
不知大家注意过没有,Readbook在读取文件的时候,无论文件多大,
打开的速度几乎都不变。这是因为它采用了特殊的算法分段读取(虽然
我没有见过它的源码,但可以肯定是这样)。
你要是用Richedit去读取,文件一大就会变得很慢,因为Richedit是
把文件全部读入内存的。
如果你要写Readbook式的软件,劝你还是自己写代码吧,Richedit
有很多不好的地方,当初俺被它搞得头都大了!
 
我现在已经头大了,好多不如意的地方。 //hand 左轻侯。
 
都不让我怎么满意 ...
不知可否分出一点积分给我自己...
否则100大洋真让我有些心疼
 
sonicyouth:
老哥,现在是大家都在猜你的意思啊!
你可不可以把问题再说清楚一点?
我们答的都不是地方么?
 
ok 就这样吧
 

Similar threads

回复
0
查看
819
不得闲
D
回复
0
查看
842
DelphiTeacher的专栏
D
D
回复
0
查看
848
DelphiTeacher的专栏
D
D
回复
0
查看
682
DelphiTeacher的专栏
D
后退
顶部