LineIndex := SendMessage(TheMemo.Handle,EM_LINEINDEX,-1,0);
if TheMemo.SelLength = 0 then
begin
Col := TheMemo.SelStart - LineIndex;
SelBegin := TheMemo.SelStart;
Row := SendMessage(TheMemo.Handle,EM_LINEFROMCHAR,TheMemo.SelStart,0);
end
else
begin
if TheMemo.SelStart < SelBegin then
Col := TheMemo.SelStart - LineIndex
else
Col := (TheMemo.SelStart + TheMemo.SelLength) - LineIndex;
Row := SendMessage(TheMemo.Handle,EM_LINEFROMCHAR,TheMemo.SelStart+TheMemo.SelLength,0);
end;
StatusBar1.Panels[0].Text:= 'Row '+ IntToStr(Row + 1) + ' : Col '+IntToStr(Col + 1);