procedure CursorPosition(Control: TMemo; col, row: integer);
var
Pos: integer;
begin
//检查行数是否超过了实际行数! 超过时即选最后一行
if Col>Control.Lines.Count then Col:=SendMessage(Control.Handle, EM_GETLINECOUNT, 0, 0)-1;
Pos := SendMessage(Control.Handle, EM_LINEINDEX, col, 0) + row;
Control.SelStart := Pos;
end;
另学习如下几句!
Lops:=SendMessage(memol.Handle,EM_LINEFROMCHAR,Memo1.SelStart,0);
Cpos:=Memol.SelStart-SendMessage(meno1.Handle,EM_LINEINDEX,Lpos,0);
得到memo1控件中当前光标所在的行与列!