Delphi - база знаний


Как получить координаты курсора в memo-поле?


Как получить координаты курсора в memo-поле?



procedure CaretPos(H: THandle; var L,C : Word); 
begin 
  L := SendMessage(H,EM_LINEFROMCHAR,-1,0); 
  C := LoWord(SendMessage(H,EM_GETSEL,0,0)) - SendMessage(H,EM_LINEINDEX,-1,0); 
end

procedure TForm1.Button1Click(Sender: TObject); 
var 
  LineNum,ColNum : Word; 
begin 
  CaretPos(Memo1.Handle,LineNum,ColNum); 
  Edit1.Text := IntToStr(LineNum) + '  ' + IntToStr(ColNum); 
end;

Хотя в Delphi 5 свойство CaretPos уже включено в memo.

Взято с Исходников.ru


Как получить номер строки memo, в которой находится курсор?

Для этого необходимо послать сообщение EM_LINEFROMCHAR.

LineNumber :=   Memo1.Perform(EM_LINEFROMCHAR, -1, 0);

Взято с Исходников.ru




Начало  Назад  Вперед