Announcement

Collapse
No announcement yet.

TDBEdit wechselt Ausrichtung

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • TDBEdit wechselt Ausrichtung

    Hallo zusammen,

    ich würde gerne eine Komponente von TDBEdit ableiten, in der
    die Textausrichtung beim Betreten mit dem Cursor lnksbündig bleibt
    und nicht, wie standardmäßig bei Zahlenfeldern, auf rechtsbündig springt und nach Verlassen wieder linksbündig wird.

    Ich habe mir den Source Code der Original TDBEdit-Komponente angesehen,
    kann aber nicht sehr viel damit anfangen, da ich noch Neuling auf dem
    Gebiet bin.

    Wäre dankbar, falls mir jemand ein Tip und / oder einen entsprechenden
    Source Code zeigen könnte.

    Mit freundlichen Grüße

    André

  • #2
    Hiermit müßte es gehen. Letztlich kann man alles bei
    Borland abgucken. Z.B. hat die Komponente TCustomMemo auch die Eigenschaft Alignment.<br>
    <br>
    type<br>
    TDBEditLeft = class(TDBEdit)<br>
    private<br>
    { Private-Deklarationen }<br>
    FAlignment: TAlignment;<br>
    procedure SetAlignment(const Value: TAlignment);<br>
    protected<br>
    { Protected-Deklarationen }<br>
    procedure CreateParams(var Params: TCreateParams); override;<br>
    public<br>
    { Public-Deklarationen }<br>
    published<br>
    { Published-Deklarationen }<br>
    property Alignment: TAlignment read FAlignment write SetAlignment default taLeftJustify;<br>
    end;<br>
    <br>
    procedure TDBEditLeft.CreateParams(var Params: TCreateParams);<br>
    const<br>
    Alignments: array[Boolean, TAlignment] of DWORD =<br>
    ((ES_LEFT, ES_RIGHT, ES_CENTER),(ES_RIGHT, ES_LEFT, ES_CENTER));<br>
    begin<br>
    inherited CreateParams(Params);<br>
    with Params do<br>
    begin<br>
    Style := Style or Alignments[UseRightToLeftAlignment, FAlignment];<br>
    end;<br>
    end;<br>
    <br>
    procedure TDBEditLeft.SetAlignment(const Value: TAlignment);<br>
    begin<br>
    if FAlignment <> Value then<br>
    begin<br>
    FAlignment := Value;<br>
    RecreateWnd;<br>
    end;<br>
    end;<br>
    <br&gt

    Comment

    Working...
    X