RichEdit получить строку из положения пикселя

Если я щелкну внутри элемента управления TRichEdit, как я могу получить индекс строки (я нажал) из координат клиента мыши?

Другими словами, как мне преобразовать клиентскую координату в индекс строки?

*** РЕДАКТИРОВАТЬ Я фактически не щелкаю внутри элемента управления TRichEdit, я щелкаю в другом элементе управления и должен синхронизироваться с номером строки элемента управления TRichEdit.

1 ответ

Решение

Послать EM_CHARFROMPOS а также EM_LINEFROMCHAR сообщения в RichEdit, например:

POINTL pt = ...; // client coordinates
int pos = RichEdit1->Perform(EM_CHARFROMPOS, 0, (LPARAM)&pt);
int idx = RichEdit1->Perform(EM_LINEFROMCHAR, pos, 0);
Другие вопросы по тегам