AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Eigene Komponente: Position wird nicht richtig gesetzt
Thema durchsuchen
Ansicht
Themen-Optionen

Eigene Komponente: Position wird nicht richtig gesetzt

Ein Thema von guidok · begonnen am 3. Dez 2007 · letzter Beitrag vom 3. Dez 2007
 
guidok

Registriert seit: 28. Jun 2007
417 Beiträge
 
#1

Eigene Komponente: Position wird nicht richtig gesetzt

  Alt 3. Dez 2007, 10:17
Hmm, ich komm grad nicht weiter, obwohl es wahrscheinlich nur eine Kleinigkeit ist...

Ziel ist ein Edit mit angehängtem Label (ich weiß, dass gibt es bereits, ich mach es trotzdem selbst).

Ich leite von TCustomEdit ab und erzeuge darin ein Label abgeleitet von TCustomLabel.

Delphi-Quellcode:
  TbroseEdit = class(TCustomEdit)
  private
    fLabel: TbroseEditLabel;
    function GetCaption:TCaption;
    procedure SetCaption(Value: TCaption);
  protected
    procedure SetParent(AParent: TWinControl); override;
  public
    constructor Create(AOwner: TComponent); Override;
    destructor Destroy; override;
  published
    property Caption: TCaption read GetCaption write SetCaption;
    property EditLabel: TbroseEditLabel read fLabel write fLabel;
    property OnChange;
    property OnEnter;
    property OnExit;
  end;

constructor TbroseEdit.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  Height := 17;
  BevelInner := bvRaised;
  BevelKind := bkFlat;
  BevelOuter := bvLowered;
  BorderStyle := bsNone;

//Label erzeugen
  fLabel := TbroseEditLabel.Create(self);
  fLabel.SetBounds(Left - 100, Top, 100, 17);

  //FDoAutocomplete := True;
  //FIndex := -1;
end;

procedure TbroseEdit.SetParent(AParent: TWinControl);
begin
  inherited SetParent(AParent);
  if fLabel = nil then exit;
  fLabel.Parent := AParent;
  fLabel.Visible := True;
end;
Soweit so gut, nun soll das Label 100 Punkte VOR dem Edit liegen (siehe im Konstruktor), wenn ich das Editfeld auf dem Formular platziere dann haben anscheinend Left und Top des Edit den Wert 0, da das Label auf der Position -100,0 eingefügt wird. Blöderweise geht das weder zur Entwurfs- noch zur Laufzeit.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz