Des öfteren ist es nötig ein Editfeld rechstbündig oder zentriert darzustellen!
hier ist eine funktionierende Komponente mit der man den Text in Tmaskedit ausrichten kann. Wer tedit benutzen will muss nur tmaskedit durch Tedit ersetzen. Im Anhang befindet sich die
unit zum download.
Delphi-Quellcode:
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;
[edit=Daniel B]Delphi-Tags eingefügt. Mfg, Daniel B[/edit]
[edit=Matze]Code formatiert. Mfg, Matze[/edit]