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