你可以调用WINDOWSAPI中的EM—LINEFROMCHAR和EM—LINEINDEX函数来确定MEMO控件中的当前行和列,具体调用的过程见下面的过程。
var
varLineNum:longint;
CharsBeforeLine:longint;
begin
LineNum=SendMessage(Memo1.Handle,EM—LINEFROMCHAR,Memo1.SelStart,0);
CharsBeforeLine:=SendMessage(Memo1.Handle,EM—LINEINDEX,LineNum,0);
Label1.Caption:=′Line′+IntToStr(LineNum+1)
Label2.Caption:=′Position′+IntToStr((Memo1.SelStart-CharsBeforeLine)+1);
end;
var
varLineNum:longint;
CharsBeforeLine:longint;
begin
LineNum=SendMessage(Memo1.Handle,EM—LINEFROMCHAR,Memo1.SelStart,0);
CharsBeforeLine:=SendMessage(Memo1.Handle,EM—LINEINDEX,LineNum,0);
Label1.Caption:=′Line′+IntToStr(LineNum+1)
Label2.Caption:=′Position′+IntToStr((Memo1.SelStart-CharsBeforeLine)+1);
end;