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

Поместить более 64 KB в TRichEdit

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

Поместить более 64 KB в TRichEdit

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

{ 
  By default, a TRichedit's text is limited to 64 KB. 
  Setting the Maxlength property to $7FFFFFF0 allows you to have approx. 
  2GB of text. 

  Standardmassig ist der Text im Richedit auf 64 KB beschrankt. 
  Indem man die Maxlength auf $7FFFFFF0 setzt, kann man ungefahr 2 GB 
  Text im TRichEdit haben. 
}

 procedure TForm1.Button1Click(Sender: TObject);
 begin
   RichEdit11.MaxLength := $7FFFFFF0;
 end;



  //oder: 
//or: 

procedure TForm1.Button1Click(Sender: TObject);
 begin
   SendMessage(RichEdit1.Handle, EM_EXLIMITTEXT, 0, $7FFFFFF0);
 end;

Программная хитрость! Проблема в том, что свойство MaxLength контрола TRichEdit имеет жесткую ограничение в 64 КБ по умолчанию. Чтобы преодолеть это ограничение, нужно установить свойство MaxLength в значение, превышающее 64 КБ.

В первом коде-наборе решение заключается в установке MaxLength в $7FFFFFF0, что является целочисленным значением, представляющим максимально допустимую длину (примерно 2 ГБ).

Однако есть и другой способ достичь этого без изменения свойства MaxLength. Можно использовать функцию Windows API EM_EXLIMITTEXT для установки максимальной длины текста контрола rich edit.

Второй код-набор использует функцию SendMessage для отправки сообщения EM_EXLIMITTEXT контролу rich edit, передавая handle контрола и желаемую максимальную длину текста ($7FFFFFF0).

Разбивка:

  • EM_EXLIMITTEXT: Функция Windows API, устанавливающая максимальную длину текста контрола rich edit.
  • SendMessage: Функция Delphi, отправляющая сообщение в окно (в этом случае, контрол rich edit).
  • RichEdit1.Handle: Handle контрола rich edit.
  • $7FFFFFF0: Желаемая максимальная длина текста (примерно 2 ГБ).

Используя любой из этих подходов, можно эффективно увеличить максимально допустимую длину текста в вашем контроле TRichEdit за пределы ограничения по умолчанию в 64 КБ. Хорошая работа, DeeCo и Swiss Delphi Center!

В статье описывается, как можно увеличить лимит текста в компоненте TRichEdit до 2 гигабайт, установив свойство Maxlength или вызвав функцию EM_EXLIMITTEXT.


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

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




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


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


реклама


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

Время компиляции файла: 2024-11-30 11:42:55
2024-12-11 00:01:05/0.0015060901641846/0