Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi TPaintBox zeichnet Bitmap nicht (https://www.delphipraxis.net/153190-tpaintbox-zeichnet-bitmap-nicht.html)

ColeZero 23. Jul 2010 23:30


TPaintBox zeichnet Bitmap nicht
 
Schönen Abend zusammen :)

Ich bin grad am verzweifeln, denn meine TPaintBox will mein TBitmap weder mit Draw noch mit BitBlt.
Und zwar so:
Delphi-Quellcode:
[...]
var
...
  outBit: TBitmap;
begin
  outBit := TBitmap.Create;
  ...
  //zeichnen Bitmap
  ..
   PaintBox1.Canvas.Draw(0, 0, outBit);
  ...
end;
Aber die PaintBox1 rührt sich nicht und bleibt unverändert,
genau so wie mit der BitBlt procedure.

Wenn ich das Ganze aber mit einem TImage mache:
Delphi-Quellcode:
[...]
var
...
  outBit: TBitmap;
begin
  outBit := TBitmap.Create;
  ...
  //zeichnen Bitmap
  ..
   Image1.Picture.Graphic := outBit;
  ...
end;
..dann klappt das ohne Probleme.

Hab ich bei der Paintbox was vergessen?

Mit freundlichen Grüßen :)

Update:

Habs nun selbst doch hinbekommen, ich weiß zwar nicht was nun anders ist. Aber ich hab eine eigene Klasse entwickelt von TGraphicsControl abgeleitet, und schon funktioniert das.
Code:

Delphi-Quellcode:
 TDrawWindow = class(TGraphicControl)
  private
   FbackGround : TBitmap;
  public
    procedure SetBackGround(ABitMap : TBitMap);
  public
   procedure Redraw;
 end;

{ TDrawWindow }
procedure TDrawWindow.Redraw;
begin
  Self.Canvas.Draw(0, 0, FbackGround);
end;

procedure TDrawWindow.SetBackGround(ABitMap: TBitMap);
begin
 FbackGround := ABitMap;
 Redraw;
end;
Natürlich das das nur ne "Grobe" Klasse. Und da fehlt noch einiges ;)

Also Thread kann geschlossen werden

omata 23. Jul 2010 23:37

AW: TPaintBox zeichnet Bitmap nicht
 
Bei einer PaintBox wird das Zeichnen sinnvollerweise innerhalb des Ereignisses OnPaint durchgeführt.

DeddyH 23. Jul 2010 23:38

AW: TPaintBox zeichnet Bitmap nicht
 
Hast Du Width und Height der Bitmap gesetzt? Und in welchem Ereignis zeichnest Du auf die Paintbox?

ColeZero 23. Jul 2010 23:40

AW: TPaintBox zeichnet Bitmap nicht
 
Habs hingebekommen und den Code neu aufgebaut
Siehe: Update


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