Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.11.2016, 21:03   #1
Replicant
Форумчанин
 
Аватар для Replicant
 
Регистрация: 17.08.2009
Сообщений: 139
По умолчанию Координаты коретки RichEdit

Необходимо узнать координаты коретки RichEdit в пиксилях относительно высоты и ширины компонента.
CaretPos.X не предлагать, он показывает номер строки и символа, а не координаты.
Replicant вне форума Ответить с цитированием
Старый 22.11.2016, 21:07   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

GetCaretPos
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 22.11.2016, 21:27   #3
Replicant
Форумчанин
 
Аватар для Replicant
 
Регистрация: 17.08.2009
Сообщений: 139
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
GetCaretPos
Спасибо.
Replicant вне форума Ответить с цитированием
Старый 23.11.2016, 09:41   #4
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,218
По умолчанию

Пример использования через функцию WinAPI:
Код:
uses ShellAPI;

procedure TForm1.Button1Click(Sender: TObject);
var pt: TPoint;
begin
  GetCaretPos(pt);
  ShowMessage('X: ' + IntToStr(pt.X) + '; Y: ' + IntToStr(pt.Y));
end;
К RichEdit не привязано, выдаст позицию коретки относительно левого верхнего угла текущего активного текстового поля.
Arigato на форуме Ответить с цитированием
Старый 24.11.2016, 04:56   #5
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

почему если ставлю каретку в TEdit на 3 позицию между букв от начала - программа выдает х=14, у=1??
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 24.11.2016, 13:14   #6
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,218
По умолчанию

Потому что это координаты левого верхнего угла каретки, а не позиция курсора в тексте.
Arigato на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даны координаты трёх точек, являющихся вершинами некоторого параллелограмма. Найти координаты четвертой вершины. yamato_pm Паскаль, Turbo Pascal, PascalABC.NET 1 18.12.2013 19:42
Абсолютные X,Y координаты курсора в Memo, RichEdit Sergio_O Общие вопросы Delphi 1 30.01.2012 17:36
Загрузка в RichEdit текста из файла, и получение его из RichEdit Byurrer Общие вопросы C/C++ 1 09.04.2011 10:17
RichEdit Координаты Курсора nusik Общие вопросы Delphi 5 25.04.2009 23:24
Возврат коретки Михаил Юрьевич Общие вопросы Delphi 4 03.07.2008 20:36