下述Source是自动滚动到选中的第100行,是正确的!procedure TForm1.RichEdit_MoveTo(RichEdit: TRichEdit; LineNumber, CharNumber: Word);
begin
RichEdit.SelStart := RichEdit.Perform(EM_LINEINDEX, LineNumber, 0) + CharNumber;
RichEdit.SelLength := CharNumber;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
RichEdit_MoveTo(RichEdit1, 100, 5);
RichEdit1.Perform(EM_SCROLLCARET, 0, 0);
RichEdit1.SetFocus;
end;=========================================================================可是,当Unit中加上【uses RichEdit】上述”滚动功能”就失效了!
该如何设定?哪地方有冲突呀? Help me!(因我要用到RichEdit中的函数)
begin
RichEdit.SelStart := RichEdit.Perform(EM_LINEINDEX, LineNumber, 0) + CharNumber;
RichEdit.SelLength := CharNumber;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
RichEdit_MoveTo(RichEdit1, 100, 5);
RichEdit1.Perform(EM_SCROLLCARET, 0, 0);
RichEdit1.SetFocus;
end;=========================================================================可是,当Unit中加上【uses RichEdit】上述”滚动功能”就失效了!
该如何设定?哪地方有冲突呀? Help me!(因我要用到RichEdit中的函数)
改成
RichEdit1.Perform(Messages.EM_SCROLLCARET, 0, 0);或者将Message的引用放在RichEdit之后
用到RichEdit 应该是uses ComCtrls;而且你也不需要手动加,你将RichEdit拖到窗体上,它自己会加上的,
改成
RichEdit1.Perform(Messages.EM_SCROLLCARET, 0, 0);
============================================================原来是这样呀! 太谢谢你了!