Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Canvas wird nicht angezeigt
WileECoyote - Mi 21.12.05 00:32
Titel: Canvas wird nicht angezeigt
HAllo zusammen,
ich möchte auf ein ganz normales Formular eine Linie zeichen.
Hierzu kann man meines Wissens die Canvas-Komponente benutzen,
das klappt sonst auf jeden Fall auch auf Panels etc.
(möchte ich hier aber nicht nutzen)
Das Problem ist, dass die Linien nicht angezeigt werden.
Kann mir da evtl. jemand helfen?
Danke und Gruß,
Wile E.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| procedure tfoptions.make_line; begin fauswertung.Canvas.MoveTo(0,top); fauswertung.Canvas.Pen.Color:=clblack; fauswertung.Canvas.Pen.Width:=2; fauswertung.Canvas.LineTo(100,top); fauswertung.repaint; end; |
Christian S. - Mi 21.12.05 00:43
Das Repaint werden Deine Zeichnungen IMHO eigentlich wieder zunicht machen :gruebel:
WileECoyote - Mi 21.12.05 00:46
hatte das vorher ohne repaint, aber das funzte auch nicht
gruß, Wile E.
UGrohne - Mi 21.12.05 00:46
Yapp, genauso ist es. Lass das Repaint weg oder nimm eine Picture-Komponente. Ich würde DIr zu letzterem raten, denn ansonsten brauchst Du nur ein anderen Fenster drüberzulegen und schon ist Deine schöööne Zeichnung wieder weg ;-)
WileECoyote - Mi 21.12.05 00:56
ohne das repaint funzte es wie gesagt auch nicht
ich will abhängig von meinem datenbestand in gewissen
abständen eine querlinie aufs form zeichnen. da finde
ich es eigentlich unglücklich, jedesmal nen component
aufs form zu schmeissen...gibts denn da keine andere möglichkeit?
danke und gruß,
Wile E.
Christian S. - Mi 21.12.05 00:58
Überprüfe mal, ob die Linie auf Grund ihrer Koordinaten überhaupt im sichtbaren Bereich liegt.
WileECoyote - Mi 21.12.05 01:24
hab ich gemacht...hab auch einmal von 0,0 bis 2000,2000 zeichnen lassen
da hätt´ ich ja eigentlich mal irgendwo was sehen sollen?
gruß, Wile E.
Christian S. - Mi 21.12.05 01:27
Hm. Wenn ich das in einen Button packe und die Koordinaten entsprechend anpasse, kann ich mit dem Code (ohne Repaint) hübsche Linien machen. :gruebel:
Wird nach dem Aufruf der Prozedur make_line evtl. noch was gemacht, was ein Neuzeichnen des Formulars verursachen kann?
WileECoyote - Mi 21.12.05 01:31
*grins* naja...danach gibts denn erstmal das eigentliche form.show
alle elemente etc. werden vorher schon platziert während das form
noch nicht sichtbar ist...ist das das problem?
Christian S. - Mi 21.12.05 01:33
Äh, ja, daran dürfte es liegen. Mach das mal nachdem die Form fertig ist, sich auf den Bildschirm zu drängen ;-)
WileECoyote - Mi 21.12.05 01:38
verdammte axt, das funzt...hmmm, da muss ich mir mal
was überlegen, denn positionen anzahl etc. sind variabel
aber auf jeden fall vielen dank für die fixe hilfe,
gruß und frohes fest, Wile E.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!