![]() |
AW: Frage zur Komponentenerstellung graphisch
Besser, entferne aus der Basisklasse TGeoForm Paint komplett. (Also Deklaration Paint, virtual und die fast leere Methode, in der nur inherited steht)
Dann setze in TOval die Koordinaten in den sichtbaren Bereich:
Delphi-Quellcode:
Zum verschieben, verschiebst Du dann nicht das Oval in deiner Klasse, sondern die ganze Klasse durch ändern von Top und Left.
x1:=0;
y1:=0; x2:=Width; y2:=Height; *** Grundsätzliches: Dein Oval füllt Deine Komponente TOval ganz aus. Deshalb könnte man in TOval.Paint gleich
Delphi-Quellcode:
.
Canvas.Ellipse(0, 0, width, height);
Dann wird das Oval größer, wenn die Komponente größer wird. x1,x2,y1,y2 kann man sich dann ganz sparen! Verschoben wird dann wie gesagt nicht das Oval in der Komponente, sondern die ganze Komponente durch ändern von Top und Left. |
AW: Frage zur Komponentenerstellung graphisch
Delphi-Quellcode:
sollte doch etwas zeichnen.
with Canvas do
begin Brush.Color := clRed; FillRect(GetClientRect); Pen.Style := psSolid; Pen.Color := clBlue; Pen.Style := psDot; Rectangle(GetClientRect); end; Setze mal auch noch Oval.Left und Oval.Top. |
AW: Frage zur Komponentenerstellung graphisch
Liste der Anhänge anzeigen (Anzahl: 1)
Ich würde ja das sinnlose Paint aus der Basisklasse TGeoForm entfernen.
TOval.Paint braucht auch keine lokalen variablen, das kann ganz übersichtlich bleiben:
Delphi-Quellcode:
procedure TOval.Paint();
begin Canvas.Brush.Color := self.Fuellfarbe; Canvas.Pen.Color := self.Randfarbe; Canvas.Pen.Width := 3; Canvas.Ellipse(0, 0, width, height); end; Zitat:
|
AW: Frage zur Komponentenerstellung graphisch
Momentan will es ja noch gar nicht gezeichnet werden.
Ich verstehe jetzt bloß nicht warum ich das Paint aus der Klasse TGeoform entfernen soll ? Die Methode Paint ist ja nur abstrakt vorher und hat damit keinerlei Implementation meine ich. Habe das mit den Koordinaten mal in den Constructor geschrieben, will aber auch nicht klappen. Edit @ stahli will auch nicht klappen. das top und left ist ja im constructor von tgeoform gesetzt und wird beim inherited aufgerufen. Ich werde morgen in der schule mal konkret nachfragen und hier dann das Ergebnis posten, bin jetzt erstmal schlafen :) Aber schonmal vielen Dank für die ganze Hilfe, die mich schon ein ganzes stück weiter gebracht hat :) (bei anderen foren erlebt man es ja manchmal, dass neuen mitgliedern nicht so schnell geholfen wird oder einfach auf die tutorials verwiesen wird) |
AW: Frage zur Komponentenerstellung graphisch
Jo, und weil Sie in der Basisklasse ohne Funktion ist, dort unnötig. (Wenn Du es machst wird auch gezeichnet)
Wie Du am Bild (#23) siehst, fehlt nicht viel (#21) ;) Aber muss ja nicht heute alles klappen... |
AW: Frage zur Komponentenerstellung graphisch
Hallo nochmal,
nachdem ich den Code jetzt nochmal sauber in neue Units geschrieben habe, klappt es :thumb: war wohl irgendwo wieder ein kleiner Fehler drin :? Aber vielen Dank für die Hilfe :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:18 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 by Thomas Breitkreuz