Einzelnen Beitrag anzeigen

Marco Steinebach

Registriert seit: 4. Aug 2006
491 Beiträge
 
Delphi 5 Enterprise
 
#24

AW: Objekt im onCreate erzeugen, aber wie?

  Alt 16. Jul 2021, 15:57
Hallo zusammen,
Aaaalso:
Code:
  fLabel.parent := self.parent;
geht, wie Himitsu schon geschrieben hat, im onCreate nicht, wird ja von setParent übernommen.
Blöde frage: laut meinem Code wird der Label an der Position, wie das Edit, erstellt, und, anschliessend, wird das Edit um 120 nach rechts verschoben (Scalierung und co kriegen wir, denke ich, später, wenn das Ding überhaupt zu sehen ist.
D.h. an der ursprünglichen Position steht das Label, und 120 pixel weiter rechts, das zugehörige Feld, sollte jedenfalls.
Rufe ich meine Methode init, im FormShow, auf, funktioniert alles wunderbar:
Code:
procedure TMsDatumCombo.init;
begin
  fLabel := TLabel.create (self);
  with fLabel do
  begin
    left := self.left;
    top := self.top;
    focusControl := self;
    Caption := self.Caption;
  end;
  self.left := self.left + 120;
  with items do
  begin
    clear;
    add ('vorgestern');
    add ('gestern');
    add ('heute');
    add ('nächster Tag');
    add ('übermorgen');
    add ('Sonntag');
    add ('Montag');
    add ('Dienstag');
    add ('Mitwoch');
    add ('Donnerstag');
    add ('Freitag');
    add ('Samstag');
  end;
end;
Warum funktioniert das da, aber im onCreate nicht?
Schaue ich mir form1.components an, da steht meine Combobox drin, aber das Label nicht, kann es nicht sein, dass es deshalb nicht zu sehen ist?
Gibt es nicht irgendwo einen Weg dem Formular die Komponente hinzuzufügen?

Etwas verzweifelte Grüße
Moo
Marco Steinebach
  Mit Zitat antworten Zitat