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

Выравнивание текста в TRichEdit

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

Выравнивание текста в TRichEdit

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

uses
   RichEdit;

 // Using the Paragraph property 
procedure RE_AlignText1(ARichEdit: TRichEdit; alignment: TAlignment);
 begin
   ARichEdit.Paragraph.Alignment := alignment;
 end;

 // Using PARAFORMAT2; nonVCL 
procedure RE_AlignText2(ARichEdit: TRichEdit; alignment: TAlignment);
 var
   pf2: PARAFORMAT2;
 begin
   FillChar(pf2, SizeOf(pf2), 0);
   pf2.cbSize := SizeOf(PARAFORMAT2);
   SendMessage(ARichEdit.Handle, EM_GETPARAFORMAT, 0, Longint(@pf2));
   pf2.dwMask := PFM_ALIGNMENT;
   case alignment of
     taLeftJustify: pf2.wAlignment := PFA_LEFT;
     taCenter: pf2.wAlignment := PFA_CENTER;
     taRightJustify: pf2.wAlignment := PFA_RIGHT;
   end;
   SendMessage(ARichEdit.Handle, EM_SETPARAFORMAT, 0, Longint(@pf2));
 end;

 // Example: Right align text 
// Beispiel: Text rechtsbundig ausrichten 
procedure TForm1.Button1Click(Sender: TObject);
 begin
   RE_AlignText2(RichEdit1, taRightJustify);
 end;

Это фрагмент кода на Delphi, демонстрирующий два способа выравнивания текста в контроле TRichEdit с использованием двух различных подходов:

  1. Использование свойства Paragraph (метод VCL)
  2. Использование структуры PARAFORMAT2 (непосредственный метод)

Вот подробное описание каждого процедуры:

RE_AlignText1 Эта процедура принимает объект TRichEdit и значение TAlignment в качестве входных параметров, а затем устанавливает выравнивание абзаца с помощью свойства Paragraph.

  • ARichEdit.Paragraph.Alignment устанавливается в указанное значение alignment (например, taLeftJustify, taCenter или taRightJustify)

RE_AlignText2 Эта процедура принимает объект TRichEdit и значение TAlignment в качестве входных параметров, а затем устанавливает выравнивание абзаца с помощью структуры PARAFORMAT2.

  • Переменная pf2 типа PARAFORMAT2 объявляется и инициализируется нулевым значением.
  • Поле cbSize структуры pf2 устанавливается в размер структуры PARAFORMAT2 (используя функцию SizeOf).
  • Сообщение EM_GETPARAFORMAT отправляется контроллу RichEdit с handle ARichEdit.Handle, которое получает текущий формат абзаца.
  • Поле dwMask структуры pf2 устанавливается в включение только маски выравнивания (PFM_ALIGNMENT).
  • В зависимости от входного значения alignment, соответствующее значение wAlignment устанавливается в pf2. Например:
    • taLeftJustify: устанавливает wAlignment в PFA_LEFT
    • taCenter: устанавливает wAlignment в PFA_CENTER
    • taRightJustify: устанавливает wAlignment в PFA_RIGHT
  • Сообщение EM_SETPARAFORMAT отправляется контроллу RichEdit с handle ARichEdit.Handle, которое применяет новый формат абзаца.

Пример Процедура Button1Click демонстрирует использование второго подхода (RE_AlignText2) для правого выравнивания текста в контроле RichEdit, именуемом RichEdit1.

Статья описывает способ выравнивания текста в компоненте TRichEdit с использованием двух методов: через свойство Paragraph и через PARAFORMAT2.


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

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




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


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


реклама


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

Время компиляции файла: 2024-12-22 20:14:06
2025-06-16 09:18:39/0.0077872276306152/1