Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Rechteck wird nicht angezeigt! (https://www.delphipraxis.net/169125-rechteck-wird-nicht-angezeigt.html)

hannibal 30. Jun 2012 18:34

Rechteck wird nicht angezeigt!
 
Hallo,

ich will einfach ein Rechteck auf meiner Form zeichnen aber irgendwie klappt das nicht folgenden Code hab ich geschrieben:
Code:
procedure TMainForm.FormCreate(Sender: TObject);
var
  pic : TBitmap;
begin
  pic := TBitmap.Create;
  pic.Height := 100;
  pic.Width := 100;
  pic.Canvas.Brush.Color := clRed;
  pic.Canvas.FillRect(Rect(0, 0, pic.Width, pic.Height));
  MainForm.Canvas.Draw(0, (MainForm.Width div 2) - (MainForm.Height div 2), pic);
end
Ich bin leider noch ziemlich unerfahren mit Delphi, hoffe Ihr könnt mir weiterhelfen!
Danke in voraus!

mfg hannibal

turboPASCAL 30. Jun 2012 18:45

AW: Rechteck wird nicht angezeigt!
 
Ja, probiere es mal im "OnPaint" vom Canvas. ;)

Luckie 30. Jun 2012 18:46

AW: Rechteck wird nicht angezeigt!
 
Im OnCreate existiert das Form noch nicht und eird erst im OnPaint gezeichnet.

himitsu 30. Jun 2012 20:05

AW: Rechteck wird nicht angezeigt!
 
Du hast auch noch vergessen das Bitmap wieder freizugeben.

Wenn du im OnCreate schon zeichnen willst/mußt, dann zeichne in ein TImage,
ansonsten kannst du im OnPaint direkt auf die Form oder auf eine TPaintBox zeichnen.

Wenn das Bild erhalten bleiben soll, z.B. wenn die Form neu gereichnet werden mußte (z.B. nachdem eine andere Form davor lag), dann auf ein Offscreen-Bitmap zeichnen, welches im OnPaint erneut ausgegeben wird, oder eben in ein TImage.


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