Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.26;
Скачать: CL | DM;

Вниз

Как узнать прокрученность Memo?   Найти похожие ветки 

 
noclip ©   (2006-01-03 22:38) [0]

Извините за ламерский вопрос.
Сабж - имеется в виду как узнать на сколько прокручен Memo по обеим осям.
Мне надо это, чтобы определить позицию текстового курсора в моноширинном тексте относительно координат компонента.
Относительно текста - использую Memo1.CaretPos, а надо еще учесть прокрутку.

...Просто хочу в редакторе сделать autocomplete (а-ля сам delphi) через вот это и PopupMenu. Глупо, я понимаю... Но хочется именно так.


 
begin...end ©   (2006-01-04 11:08) [1]

> noclip ©   (03.01.06 22:38)

> Мне надо это, чтобы определить позицию текстового курсора
> в моноширинном тексте относительно координат компонента.

Сообщение EM_POSFROMCHAR предназначено для определения "клиентских" координат символа с заданным номером. Поэтому можно определить номер символа, возле которого находится курсор (свойство SelStart), а потом послать EM_POSFROMCHAR:

var
 P: TSmallPoint;
begin
 P := TSmallPoint(Memo.Perform(EM_POSFROMCHAR, Memo.SelStart, 0))
end

Только не забывайте проверять, не превышают ли полученные координаты размеров клиентской области -- такое может случиться, если курсор из-за прокрутки не виден.


 
noclip ©   (2006-01-04 22:00) [2]

THX



Страницы: 1 вся ветка

Текущий архив: 2006.03.26;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.036 c
2-1141676889
mrAndersen
2006-03-06 23:28
2006.03.26
text


2-1141916211
VitV
2006-03-09 17:56
2006.03.26
Interbase+Delphi7. Связь таблиц.


3-1138718238
Mac_
2006-01-31 17:37
2006.03.26
Как сохранить результат запроса в dbf формате ?


3-1138288605
LineSoft
2006-01-26 18:16
2006.03.26
Ошибка при восстановлении БД Firebird


2-1142195886
kilop
2006-03-12 23:38
2006.03.26
Как приостановить процесс работы проги?