Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Как указать максимальный размер текста для RichEdit Control

Delphi , Компоненты и Классы , TMemo и TRichEdit

Как указать максимальный размер текста для RichEdit Control

У этого компонента есть свойство MaxLength, которое работает некорректно. Поэтому лучше пользоваться


RichEdit.Perform(EM_LIMITTEXT, нужный размер, 0);

Причем перед каждом открытии файла это действие необходимо повторять.

Если Вы передаете в качестве размера 0, то ОС ограничивает размер OS Specific Default Value. Реально, по результатам моих экспериментов, поставить можно размер, чуть меньший доступной виртуальной памяти. Я ограничился 90% от свободной виртуалки.

Для того, чтобы не повторять этот вызов (EM_LIMITTEXT), можно воспользоваться сообщением EM_EXLIMITTEXT.

Для настройки максимального размера текста для RichEdit-контрола можно использовать метод RichEdit.Perform с сообщением EM_LIMITTEXT и указать желаемую максимальную длину.

Пример:

RichEdit.Perform(EM_LIMITTEXT, neededSize, 0);

Как вы упомянули, если передать 0 как параметр размера, операционная система будет использовать свой собственный дефолтный значение. Вы также можете установить меньший размер, чем доступное виртуальное память, например, ограничивая его до 90% свободной виртуальной памяти.

Чтобы избежать повторения этого вызова каждый раз при открытии файла, можно отправить сообщение EM_EXLIMITTEXT вместо. Это сообщение устанавливает максимальную длину для последующих операций с текстом.

Пример:

RichEdit.SetSel(0, -1); // Выбрать все текст
RichEdit.Perform(EM_EXLIMITTEXT, neededSize, 0);
RichEdit.SetSel(-1, 0); // Отменить выбор текста

В этом коде выбирается весь текст в RichEdit-контроле, устанавливается максимальная длина с помощью EM_EXLIMITTEXT, а затем отменяется выбор текста.

Обратите внимание, что вам нужно заменить neededSize на фактическое значение, которое вы хотите установить как максимальный размер текста.

Установка максимального размера текста для RichEdit Control может быть выполнена с помощью метода Perform(EM_LIMITTEXT) или при помощи сообщения EM_EXLIMITTEXT, минуя недопустимое использование свойства MaxLength.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: TMemo и TRichEdit ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 11:57:51/0.0035350322723389/0