Hallo!
Ich bastel gerade an einer eigenen Komponente. Hierbei arbeite ich zum ersten Mal mit einem eigenen Komponenteneditor und habe dazu eine Frage. Aber worum geht es erstmal:
Das Ganze soll eine Art Fotogallerie werden. Man soll also mehrere Vorschaubilder in einer Gruppe anordnen können. Klick man auf ein Vorschaubild wird das Bild in voller größe angezeigt. Die Gallerie selbst ist nur ein Panel auf dem die Vorschaubilder automatisch angeordnet werden. Die Vorschaubilder sind ebenfalls Panel die verschiedne Teile (Bild, Titel-Label, etc.) umfassen.
Wenn ich die Gallerie-Komponente auf ein Form setzte und mit Rechts darauf klicke kann ich "Neues Bild einfügen" auswählen und der Komponenteneditor öffnet sich. Dort kann ich dann alles rund um das neue Bild einstellen und das Bild wird in die Gallerie eingefügt. Das Ganze geschieht so:
Delphi-Quellcode:
newImage := TGalleryImage(Designer.CreateComponent(TGalleryImage,
FGallery, 0, 0, 10, 10));
Damit erscheint das neue Bild in der Gallerie und in der Objekthierachie wird ein TGalleryImage als Kind der TGallery Komponente angezeigt. Das funktioniert alles prima.
Nun will ich aber, dass schon beim Erstellen der Gallery ein Bild mit erstellt wird. Das ist kein Problem, das Bild wird problemlos in der Gallerie angezeigt.
ABER: in der Objekthierachie wird
kein TGalleryImage-Kind bei der TGallery-Komponente angezeigt.
Ich vermute mal, das liegt daran, dass ich das TGalleryImage selbst mit TGalleryImage.Create(...) in TGallery.Create() erstelle und nicht mit Designer.CreateComponent(..). Aber in TGallery.Create() habe ich keinen Designer, diesen gibt es nur im Komponenteneditor.
Wie kann ich also in TGallery.Create() das TGalleryImage so erstellen, dass es als Sub-Komponente von TGallery in der Objekthierachie angezeigt wird?
Besten Dank
Ares