Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi DXDraw dynamisch erzeugen und bearbeiten funktioniert nicht (https://www.delphipraxis.net/63054-dxdraw-dynamisch-erzeugen-und-bearbeiten-funktioniert-nicht.html)

fabiO 13. Feb 2006 14:21


DXDraw dynamisch erzeugen und bearbeiten funktioniert nicht
 
Hallo,

Ich habe versucht, einige DXDraw-Komponenten dynamisch zu erzeugen, sprich einfach per knopfdruck...
Ich bin jetzt soweit, dass die Komponente auf der Form erzeugt und positioniert wird, was ja nicht weiter schwer ist.
So nun habe ich aus anderen Beiträgen rausgelesen, dass man zuerst die Komponente erzeugen muss und sie erst dann iniziallisieren kann... aber wenn ich nun z.B. ein Bild auf dem erzeugten DXDraw malen will, macht er absolut gar nichts... Wenn ich es mit einer Farbe füllen will, wirds noch konfuser, da er bei rot - blau, bei blau - rot anzeigt... kann mir mal bitte jemand auf die sprünge helfen? Danke!

Delphi-Quellcode:

var draw1 : TDXDraw;


procedure TForm1.Button1Click(Sender: TObject); // Komponente wird erstellt
begin
  draw1 := TDXDraw.Create(Form1);
  draw1.Parent := Form1;
  draw1.Width := 350; draw1.Height := 350;
  draw1.Left := 10; draw1.Top := 10;
  draw1.Enabled := true;
  draw1.Visible := true;
  draw1.SurfaceHeight := 250;
  draw1.SurfaceWidth := 250;
  draw1.Flip;
  DXImageList1.DXDraw := draw1;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  draw1.Initialize;
end;

procedure TForm1.Button3Click(Sender: TObject); //
begin
  if draw1.CanDraw = true then
    draw1.Surface.Fill(RGB(0,0,255));
    //DXImageList1.Items.Find('Bild').Draw(draw1.Surface,10,10,0);
 
  draw1.Flip;
end;

mimi 19. Feb 2006 07:26

Re: DXDraw dynamisch erzeugen und bearbeiten funktioniert ni
 
1. Tue mal das was unter Button3Click drin ist in einen DXTimer.

2. Hast du die Imagelist mit der DXDraw verküpft ?

3. bei Button1Click kannst du das Flip raußnehmen. Das muss nur beim Timer ganz unten stehen.
(weißt du was was Flip macht?

fabiO 19. Feb 2006 14:04

Re: DXDraw dynamisch erzeugen und bearbeiten funktioniert ni
 
also die Imagelist ist mit dem DXDraw verlinkt,

Code:
DXImageList1.DXDraw := draw1;
mit flip lasse ich die veränderung der surface des DXDraws darstellen...

mimi 19. Feb 2006 17:01

Re: DXDraw dynamisch erzeugen und bearbeiten funktioniert ni
 
das mit der verküpfung hatte ich zuspät gesehen. genau das macht flip.
eigentlich müsste es gehen.

hast du den dxtimer auf 0 gestellt?

(bis nächste woche)


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:37 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz