Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Координаты lines в RichEdit


Автор: pankerstein 24.12.2006, 00:32
Всем привет.
::Снова с вопросом:: smile 

Можно ли как то узнать на каких .Top" & .Left находится строка(Lines[i])  в richEdit??             
.Top, как мне кажется, можно вычеслить из высоты richedit, размера шрифта и номера строки.... 
Может у кого есть ещё соображения? И как быть с .left ??

Зараннее спасибо!

Автор: MetalFan 24.12.2006, 00:56
смотри сообщения на EM_....
в частности
EM_POSFROMCHAR
EM_LINEFROMCHAR
etc

Автор: pankerstein 24.12.2006, 12:07
Цитата(MetalFan @  24.12.2006,  00:56 Найти цитируемый пост)
смотри сообщения на EM_....
в частности
EM_POSFROMCHAR
EM_LINEFROMCHAR


 smile Можно поподробнее если не сложно, как это сообщение передать "Едиту", и как оттуда возвратить значение координат строки в переменную

Автор: MetalFan 24.12.2006, 13:49
Код

var
  lPt: TPoint;
  lPos: Integer;
begin
  lPos := SendMessage( redt1.Handle, EM_LINEINDEX, -1, 0 ); //получаем номер символа в начале текущей (-1) строки.
  if lPos = -1 then Exit;
  SendMessage(redt1.Handle, EM_POSFROMCHAR, Integer(@lPt), lPos ); //получаем координаты Left/Top символа с номером lPos
  Caption := Format( 'x:%d;y:%d', [lPt.x, lpt.y]); //ну и в кэпшн его для проверки


Автор: pankerstein 8.1.2007, 11:18
Работает... наконецто получилось проверить всё как то руки не доходили.. спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)