Einzelnen Beitrag anzeigen

ketraun
(Gast)

n/a Beiträge
 
#8

Re: Tedit und Textausrichtung

  Alt 11. Aug 2003, 11:47
Hi,
hier ist eine funktionierende Komponente mit der man den Text in Tmaskedit ausrichten kann. Wer tedit benutzen will muss nur tmaskedit durch Tedit ersetzen.
Das ganze Winapi Zeugs, mit dem man das angeblich auch machen kann ist Betriebssystemabhängig und funktioniert mal und mal nicht.

unit maskeditL;

interface

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

type
TmaskeditL = class(Tmaskedit)
private
{ Private-Deklarationen }
fAlignment : TAlignment;
protected
{ Protected-Deklarationen }
public
{ Public-Deklarationen }
procedure SetAlignment(const Value: TAlignment);
procedure CreateParams(var Params: TCreateParams);override;
published
{ Published-Deklarationen }
property Alignment : TAlignment read fAlignment write SetAlignment;
end;

procedure Register;

implementation

procedure TmaskEditL.SetAlignment(const Value: TAlignment);
begin
if Value <> fAlignment then
begin
fAlignment := Value;
RecreateWnd; // erzeuge Fenster neu -> CreateParams
end;
end;

procedure TmaskEditL.CreateParams(var Params: TCreateParams);
const
cAlignStyles: array [TAlignment] of Cardinal = (ES_LEFT, ES_RIGHT, ES_CENTER);
begin
inherited;
with Params do
Style := Style or cAlignStyles[fAlignment];//taRightJustify];
end;

procedure Register;
begin
RegisterComponents('Zusätzlich', [TmaskeditL]);
end;

Wer will kann dem Ding auch noch ein Icon verpassen.
ketraun
  Mit Zitat antworten Zitat