滚动一个RichEdit 。
1)请问如何滚动一个RichEdit
2)如何滚动一个RichEdit ,在鼠标按下时停止滚动!
谢谢~~
问题点数:100、回复次数:6Top
1 楼sdzeng(大头鸟)回复于 2005-08-02 12:44:41 得分 0
向下滚动1行
SendMessage(RichEdit1.Handle,EM_LINESCROLL,0,1);
向右滚动1行
SendMessage(RichEdit1.Handle,EM_LINESCROLL,1,0);Top
2 楼cumtbwxj(巴乔和国际米兰是我的最爱!)回复于 2005-08-02 12:45:39 得分 0
upTop
3 楼tjianliang(乡关何处)回复于 2005-08-02 13:13:22 得分 0
实现滚动也可以这样,在达到一定行数时将第一行删掉
procedure TForm1.Button1Click(Sender: TObject);
const
MAX_ITEMS_COUNT = 8;
begin
RichEdit1.Lines.Add(DateTimeToStr(Now));
if CountNum < MAX_ITEMS_COUNT then
Inc(CountNum) //CountNum为公共变量,用作计数器
else
RichEdit1.Lines.Delete(0);
end;
Top
4 楼tjianliang(乡关何处)回复于 2005-08-02 13:15:13 得分 0
当然前提是显示的记录的很多,又不需要关心历史记录。比如一些实时的监控窗口之类Top
5 楼xixuemao(钱不是问题,问题是没钱)回复于 2005-08-02 13:19:52 得分 0
procedure TForm1.Timer1Timer(Sender: TObject);
begin
sendmessage(RichEdit1.Handle,EM_LINESCROLL,0,1);
end;
procedure TForm1.RichEdit1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
timer1.Enabled:= false;
end;Top
6 楼myisalan(大侠江城子)回复于 2005-08-02 14:27:23 得分 0
我记得RichEdit控件中有个ScrollBy方法,不知道是如何应用的阿~~~~~~~Top




