Форум: "WinAPI";
Текущий архив: 2006.03.26;
Скачать: [xml.tar.bz2];
ВнизКак узнать прокрученность 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 вся ветка
Форум: "WinAPI";
Текущий архив: 2006.03.26;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.043 c