![]() |
Zeichnen in TGroupBox
Ich will ein Rechteck in einer GroupBox ausgeben, aber irgendwie haut das nicht hin.
Das müsste doch so ähnlich funktionieren:
Delphi-Quellcode:
Allerdings sagt er mir bei Rectangle() immer: zu viele Parameter.
procedure TForm1.RaumSkizze;
var InfoBoxDC: HDC; begin if FRaum.Flaeche > 0 then begin InfoBoxDC:= GetDC(Maschine.Handle); Canvas.Pen.Color := clBlack; Canvas.Rectangle(InfoBoxDC,112,328,393,457); end; end; Aber wie mach ich ihm dann begreiflich das ich in diese GroupBox zeichnen will? mfg cook |
Re: Zeichnen in TGroupBox
Solltest in diesem Fall die API-Function und nich die des Canvas deines Form's verwenden.
Delphi-Quellcode:
So geht es:
{Form1.}Canvas.Rectangle(X1, Y1, X2, Y2);
Rectangle(HDC, X1, Y1, X2, Y2);
Delphi-Quellcode:
Da ich normaler Weise nicht über ein Handle zeichne, hab' ich jetzt keine Ahnung wie der Farbe zugewiesen wird.
var InfoBoxDC: HDC;
InfoBoxDC := GetDC(GroupBox1.Handle); Rectangle(InfoBoxDC, 112, 328, 393, 457); Das wird aber bestimmt ein Anderer hier wissen, wenn nicht schau ich heute abend mal nach. |
Re: Zeichnen in TGroupBox
Hallo,
ich kenne mich nicht so genau mit dem Canvas geschichten aus. Aber ich kann dir sagen, das Canvas.Rectangle einen Parameter zu viel hat. Ich würde so vorgehen, das ich in der Groupbox noch ein Image hinein setzen würde, welches auch einen Canvas enthält. Die Eigenschaft Align setzt du auf alClient und malst dann entsprechend auf dem Canvas. Ich hoffe das mein Tipp hilfreich ist. Gruss Samson |
Re: Zeichnen in TGroupBox
THX @ himitsu
So hat es geklappt. Musste nur das Canvas vor Canvas.Rectangle(..) wegnehmen. |
Re: Zeichnen in TGroupBox
Interessant.
Das hast Du den Canvas vom TForm benutzt. Weil ja die Groupbox kein Canvas hat. Schon wieder was neues gelernt. Man lernt nie aus. Gruss Samson |
Re: Zeichnen in TGroupBox
@samson
Ja er hatte das Canvas vom Form genutzt. Aber es ja hatte nicht funktioniert. Deshalb wird hier auch über das Handle der GroupBox auf diese gezeichnet: Rectangle(InfoBoxDC, X1, Y1, X2, Y2); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:54 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