Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Erstellen von Komponenten zur Laufzeit (https://www.delphipraxis.net/41347-erstellen-von-komponenten-zur-laufzeit.html)

Cicaro 2. Mär 2005 09:28


Erstellen von Komponenten zur Laufzeit
 
Hallo !

Ich hab' ein Problem mit dem Createn von Komponenten im Code. Menus lassen sich ganz einfach zur Laufzeit erstellen, allerdings geht es mit den TImages nicht so einfach. So - dachte ich mir - mach' ich das:

Delphi-Quellcode:
var
 im: TImage;
 Form1: TForm1;

procedure TForm1.FormCreate(Sender: TObject);var x,y:Integer;
begin
 im:=TImage.Create(Self);
 with im do
  begin
   Left:=10;
   Top:=10;
   Width:=32;
   Height:=32;
   for x:=0 to Width-1 do
    for y:=0 to Height-1 do
     Canvas.Pixels[x,y]:=Random($1000000);
   Show;
  end;
end;
Durch das Zeichnen in der Canvas müsste es doch zu sehen sein, doch ich kann es nicht sehen !

Warum ?
Was muss ich noch dabei erledigen ?

LoL 2. Mär 2005 09:30

Re: Erstellen von Komponenten zur Laufzeit
 
hi

ich bin mir jetzt nicht sicher aber bist du dir sicher das das schon im OnCreate ereigniss geht? hau das mal in on show oder so rein.

alcaeus 2. Mär 2005 09:32

Re: Erstellen von Komponenten zur Laufzeit
 
Doch, es funktioniert im OnCreate. Allerdings muss noch der Parent gesetzt werden (schließlich muss es ja ein Control geben, auf welchem das Image selbst gezeichnet wird), und das zeichnen auf dem Image würde ich im OnPaint des Images machen.

Greetz
alcaeus

Cicaro 2. Mär 2005 09:39

Re: Erstellen von Komponenten zur Laufzeit
 
Zitat:

Zitat von alcaeus
Doch, es funktioniert im OnCreate. Allerdings muss noch der Parent gesetzt werden (schließlich muss es ja ein Control geben, auf welchem das Image selbst gezeichnet wird)

Das macht Sinn und funktioniert ! Danke !:thumb:

Zitat:

Zitat von alcaeus
und das zeichnen auf dem Image würde ich im OnPaint des Images machen.

Wie ? Dieses Ereignis ist doch protected ! Ich möchte die Komponente so, wie sie ist, Createn.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:38 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