高亮选中MEMO某一行

 

选中第5行

//转到指定行并选中这行的文本
procedure SelectLine(Memo1: TMemo; ln: Integer);
begin
  Memo1.SelStart := SendMessage(Memo1.Handle, EM_LINEINDEX, ln - 1, 0);
  Memo1.SelLength := Length(Memo1.Lines[ln - 1]);
end;

 

http://bbs.csdn.net/topics/110143548

 

//将滚动条定位到指定行
procedure ScrollToLine(Memo1: TMemo; ln: Integer);
begin
  SendMessage(Memo1.Handle, EM_LINESCROLL, 0, -Memo1.Lines.Count);
  SendMessage(Memo1.Handle, EM_LINESCROLL, 0, ln - 1);
end;

http://www.3aj.cn/delphi/article/1/279.html

 

使用

procedure TForm1.Button1Click(Sender: TObject);
begin
   SelectLine(Memo1,15);
   ScrollToLine(Memo1,15);
  //将水平的滚动条滚到最左边
SendMessage(Memo1.Handle, WM_HSCROLL, SB_LEFT, 0);
end;

 

posted @ 2013-12-20 17:15  XE2011  阅读(609)  评论(0编辑  收藏  举报