Как сместить позицию курсора в элементе редактирования?
Я создаю пользовательский элемент управления для редактирования, который состоит из добавления значка слева и кнопки со значком справа, как внутри элемента редактирования. Это требует смещения начальной точки текста (и курсора) вправо на X пикселей. Это также означает, что мне нужно ограничить ширину текста, чтобы освободить место для кнопки справа. Намерение состоит в том, чтобы предоставить как пользовательский значок слева, например, в браузере, так и кнопку "X" справа, чтобы очистить содержимое элемента управления редактирования.
Как компенсировать Rect
где нарисовать текст и курсор в TCustomEdit
потомок?
1 ответ
Если вы используете более новую версию Delphi, уже должен быть элемент управления TButtonedEdit, который может выполнять вашу работу.
Если нет, я думаю, что вы можете отправить сообщение EM_SETMARGINS в ваш TCustomEdit, чтобы установить левое и правое поле.
SendMessage(CustomEdit.Handle, EM_SETMARGINS, EC_LEFTMARGIN or EC_RIGHTMARGIN, MakeLong(LeftMargin, RightMargin));