Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi TControl (TEdit...) ? (https://www.delphipraxis.net/97495-tcontrol-tedit.html)

poterp 11. Aug 2007 13:10


TControl (TEdit...) ?
 
hallo,
ich habe schon viel recherchiert aber ich nicht clever geworden. uzw. ich möchte die zahlen bei TEdit
recht haben.
Ich habe erstmal folgende Methode angewendet:
Delphi-Quellcode:
MyEdit.BiDiMode := bdLeftToRight;
es sollte mit Delphi7 funktionieren
Passiert nicht und dann habe ich folgende quelle gefunden:
Delphi-Quellcode:
type
  TMonEdit = class(TEdit)
  private
    FTextAlign: TAlignment;
    procedure SetTextAlign(Value: TAlignment);
  protected
    procedure CreateParams(var Params: TCreateParams); override;
  public
    constructor Create(AOwner: TComponent); override;
  published
    property TextAlignment: TAlignment read FTextAlign write SetTextAlign;
  end;
implementation

constructor TMonEdit.Create(AOwner: TComponent);
begin
  inherited;
  FTextAlign := taLeftJustify;
end;

procedure TMonEdit.CreateParams(var Params: TCreateParams);
const
 Alignments: array[TAlignment] of Word = (ES_LEFT, ES_RIGHT, ES_CENTER);
begin
 inherited CreateParams(Params);
 Params.Style := Params.Style or Alignments[TextAlignment];
end;

procedure TMonEdit.SetTextAlign(Value: TAlignment);
begin
  if FTextAlign <>Value then
    Begin
     FTextAlign := Value;
     RecreateWnd;
   End;
end;
aber ich weisse nicht wie ich es implementieren kann. kennt jemand ne einfache Methode?
grüß
poter

scrat1979 11. Aug 2007 13:24

Re: TControl (TEdit...) ?
 
Hmmmm, also hast Du die Komponente schon in der Tool-Palette? Wenn Du diese in der Form plazierst, müsste im OI eine Eigenschaft "TextAlignment" stehen. Hier kannst Du dann das entsprechende auswählen.

Im Quellcode müsste folgendes gehen:

Delphi-Quellcode:
MonEdit.TextAlignment := taRightJustify;
Habe auch mal eine eigene Edit-Komponente abgeleitet. Habe Dir mal das wichtigste rauskopiert, hoffe diese lässt sich compilieren und in die Tool-Palette integrieren... Ist Deinem Beispiel nach dem kürzen sehr ähnlich.

Delphi-Quellcode:
unit AdvEdit;

interface

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

type
  TAdvEdit = class(TEdit)
  private
    { Private-Deklarationen }
    FAlignment       : TAlignment;

    procedure SetAlignment(const Value: TAlignment);

  protected
    procedure CreateParams(var Params: TCreateParams); override;

  public
    { Public-Deklarationen }
    constructor Create(AOwner : TComponent); override;

  published
    { Published-Deklarationen }
    property Alignment         : TAlignment read FAlignment write SetAlignment;
  end;

procedure Register;

implementation

constructor TAdvEdit.Create(AOwner : TComponent);
Begin
  inherited Create(AOwner);

  Alignment := taLeftJustify;
End;

procedure TAdvEdit.CreateParams(var Params: TCreateParams);
const
  Alignments: array[TAlignment] of DWORD = (ES_LEFT, ES_RIGHT, ES_CENTER);
begin
  inherited CreateParams(Params);

  with Params do
    Style := Style or Alignments[FAlignment];
end;

procedure TAdvEdit.SetAlignment(const Value: TAlignment);
begin
  if FAlignment <> Value then
  begin
    FAlignment := Value;
    RecreateWnd;
  end;
end; (*SetAlignment*)

procedure Register;
begin
  RegisterComponents('Michael Kübler', [TAdvEdit]);
end;

end.
Viel Spaß,

Michael

poterp 11. Aug 2007 13:31

Re: TControl (TEdit...) ?
 
danke ich probiere es
poter

poterp 11. Aug 2007 22:04

Re: TControl (TEdit...) ?
 
funktioniert leider nicht

mkinzler 12. Aug 2007 08:23

Re: TControl (TEdit...) ?
 
Zitat:

Zitat von poterp
funktioniert leider nicht

Könntest du das "geht nicht" etwas genauer spezifizieren? Kommt ein Fehler? Fehlfunktion?

semo 12. Aug 2007 10:34

Re: TControl (TEdit...) ?
 
hatte da mal testweise auch was gemacht:
http://www.hassmann-software.de/comp...c,select/id,5/


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:37 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz