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

Компонент TEdit с возможностью задать выравнивание текста

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

Компонент TEdit с возможностью задать выравнивание текста

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

{ 
  Dazu mьssen die CreateParams von der Klasse TEdit ьberschrieben werden. 
  Folgende Unit kann als Komponente installiert werden. 

  All you have to do is to verride the CreateParams of the class TEdit. 
  Install the following unit as a component. 
}

 unit AlignEdit;

 interface

 uses
   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
   StdCtrls;

 type

   TAlign = (eaLeft, eaCenter, eaRight);

   TAlignEdit = class(TEdit)
   private
     { Private-Deklarationen }
     FAlign: TAlign;
     procedure SetAlign(const Value: TAlign);
   protected
     { Protected-Deklarationen }
     procedure CreateParams(var Params: TCreateParams); override;
   public
     { Public-Deklarationen }
     constructor Create(AOwner: TComponent); override;
   published
     { Published-Deklarationen }
     property Alignment: TAlign read FAlign write SetAlign default eaLeft;
   end;

 procedure Register;

 implementation

 constructor TAlignEdit.Create(Aowner: TComponent);
 begin
   inherited Create(AOwner);
   FAlign := eaLeft;
 end;

 procedure TAlignEdit.SetAlign(const Value: TAlign);
 begin
   if FAlign <> Value then
   begin
     FAlign := Value;
     RecreateWnd;
   end;
 end;

 procedure TAlignEdit.CreateParams(var Params: TCreateParams);
 begin
   inherited;
   case FAlign of
     eaLeft: Params.Style   := Params.Style or ES_LEFT;
     eaCenter: Params.Style := Params.Style or ES_CENTER;
     eaRight: Params.Style  := Params.Style or ES_RIGHT;
   end;
 end;

 procedure Register;
 begin
   RegisterComponents('SwissDelphiCenter', [TAlignEdit]);
 end;

 end.

Это код-snippet на Delphi, который создает пользовательский компонент TEdit с возможностью установки текстового выравнивания (слева, по центру, справа). Вот подробное описание кода:

Интерфейс Интерфейс определяет общественные и публикуемые свойства и методы класса TAlignEdit.

  • TAlign: тип перечисления, представляющий возможные значения выравнивания: слева, по центру или справа.
  • TAlignEdit: пользовательский компонент TEdit, который наследуется от стандартного компонента TEdit. Он имеет приватное поле FAlign для хранения текущего значения выравнивания и два метода: SetAlign для установки значения выравнивания и CreateParams для переопределения создания окна компонента.

Implementation Секция реализации определяет методы и процедуры класса TAlignEdit:

  • Create(AOwner: TComponent): конструктор, который инициализирует компонент. Он вызывает наследуемый конструктор и устанавливает значение выравнивания по умолчанию в слева.
  • SetAlign(const Value: TAlign): метод, который устанавливает текущее значение выравнивания. Если новое значение отличается от текущего, то компонент рекреирует окно с новым стилем выравнивания.
  • CreateParams(var Params: TCreateParams): переопределенный метод, который настраивает создание окна компонента. Он проверяет текущее значение выравнивания и устанавливает соответствующий стиль (ES_LEFT, ES_CENTER или ES_RIGHT) в структуре Params.

Register Процедура Register регистрирует пользовательский компонент TAlignEdit в панели компонентов Delphi, чтобы он мог использоваться в проекте. В целом, этот код предоставляет способ создания пользовательского компонента TEdit, который позволяет пользователям устанавливать текстовое выравнивание. Компонент использует тип перечисления (TAlign) для определения возможных значений выравнивания и переопределяет создание окна, чтобы применить выбранное стиль выравнивания.

Компонент TEdit, позволяющий задавать выравнивание текста, был создан с помощью класса TEdit и переопределением метода CreateParams для изменения стиля компонента.


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

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




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


:: Главная :: TEdit ::


реклама


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

Время компиляции файла: 2024-12-22 20:14:06
2025-01-28 06:18:47/0.0019338130950928/0