Как сместить позицию курсора в редакторе? - PullRequest
4 голосов
/ 13 марта 2012

Я создаю пользовательский элемент управления для редактирования, который состоит из добавления значка слева и кнопки со значком справа, как внутри элемента редактирования.Это требует смещения начальной точки текста (и курсора) вправо на X пикселей.Это также означает, что мне нужно ограничить ширину текста, чтобы освободить место для кнопки справа.Цель состоит в том, чтобы предоставить как пользовательский значок слева, например, в браузере, так и кнопку «X» справа, чтобы очистить содержимое элемента управления редактированием.

Как сместить Rect где рисовать текст и курсор в потомке TCustomEdit?

1 Ответ

6 голосов
/ 13 марта 2012

Если вы используете более новую версию Delphi, уже должен быть элемент управления TButtonedEdit, который может выполнять вашу работу.

Если нет, я думаю, что вы можете отправить сообщение EM_SETMARGINS в свой TCustomEdit для установки левого и правого полей.

SendMessage(CustomEdit.Handle, EM_SETMARGINS, EC_LEFTMARGIN or EC_RIGHTMARGIN, MakeLong(LeftMargin, RightMargin));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...