Карта сайта 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.


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


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




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



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


реклама



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

Время компиляции файла: 2024-05-19 17:53:24
2024-05-19 19:23:52/0.0070309638977051/2