Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi canvasobject..alte position löschen (https://www.delphipraxis.net/3145-canvasobject-alte-position-loeschen.html)

Haegar 26. Feb 2003 15:17

hmm..naja, so ganz hab ich das noch nicht gepackt - also hier mal was ich alles benutze:
-ein Image (image1) auf Form1
-eine Klasse (TAuto=class(TObject))
-ne Variable (auto1:Tauto)
-den Befehl: BitBlt(Canvas.Handle, Canvas.Left, Canvas.Top, Image.Width, Image.Heigth, Image.Handle, altx, alty, SCRINVERT);
da kommt rein (reihenfolge wie befehl):
Form1.image1.canvas.handle,0,0,40,20,.....,auto1.x ,
auto1.y,SRCINVERT

tja wenn ich nu auto1.handle dahin schreibe, meckert er rum.

vielleicht mal die Klasse aus unit auto;
Delphi-Quellcode:
type TAuto=class(TObject)
  private
  public
   v:Single;             //Geschwindigkeit
   x, y:integer;         //Position
   farbe:longint;        //Lackierung
   constructor erzeugen(xpos,ypos:integer; color:longint);
   procedure schneller(dv:real);
   procedure bremsen (dv:real);
   procedure zeichnen(canvas:TCanvas); //noch drehung/Lenkung
 end;
muss ich denn irgendwie noch eine handle prozedur oder so in der eigenen klasse erwähnen??
*verzweifeln tu* :nerd:

gruss haegar

lodda 26. Feb 2003 15:28

Jetzt versteh ich dein Problem. Also wenn du die Funktion BitBlt nehmen willst, dann musst du in deinen privat-Teil noch eine TCanvaskomponente einfügen. Auf diese musst du dann zeichnen. Das fertig gezeichnete Object kannst du dann mit der BitBlt-Funktion auf dein Image kopieren.

Haegar 26. Feb 2003 15:40

sry, ich schon wieder :))
jetzt hab ich nur das problem, das ich das auto net mehr sehe! kann das sein, das das zu malende image jetzt hinter dem hintergrundbild ist??

lodda 26. Feb 2003 15:52

Das kann eigentlich nicht sein. Schick mir mal den Quelltext als e-mail. Dann schau ich mir das mal an.

Haegar 26. Feb 2003 16:04

getätigt


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:51 Uhr.
Seite 2 von 2     12   

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