Entwickler-Ecke
Multimedia / Grafik - Probleme mit ListBox-Canvas
juelin - So 30.10.11 16:04
Titel: Probleme mit ListBox-Canvas
Hallo,
ich möchte auf einer ListBox zeichen.
Ich habe folgende Befehle im Programm:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| ListBox1.Canvas.Pen.Color:=clBlack; ListBox1.Canvas.Pen.Mode:=pmCopy; ListBox1.Canvas.Pen.Style:=psSolid; ListBox1.Canvas.Pen.Width:=1; ListBox1.Canvas.MoveTo(100,100); ListBox1.Canvas.LineTo(800, 100); ListBox1.Canvas.Rectangle(200, 200, 800, 300); ListBox1.Canvas.FillRect(Rect(250,220,750,280)); |
Aber es kommt nix raus.
Was mache ich falsch?
Gruß
Jürgen
Moderiert von
Narses: Delphi-Tags hinzugefügt
Delete - So 30.10.11 21:37
In welchem Ereignis zeichnest du denn und was willst du da zeichnen? Deine Informationen sind mehr als spärlich.
juelin - So 30.10.11 22:38
Luckie hat folgendes geschrieben : |
In welchem Ereignis zeichnest du denn und was willst du da zeichnen? Deine Informationen sind mehr als spärlich. |
Eigentlich bei keinem Ereignis.
In dem Fall: OnActivate des Form
bummi - So 30.10.11 23:29
Eine Listbox ist keine Paintbox, wenn Du das was Zeichnen willst musst Du den Style auf eine der Ownerdrawns ... setzen und Dich in OnDrawItem gegf. auch ins OnMeasureItem einhängen ...
jaenicke - Mo 31.10.11 02:54
juelin hat folgendes geschrieben : |
Eigentlich bei keinem Ereignis.
In dem Fall: OnActivate des Form |
OnActivate wird ausgeführt, wenn das Fenster aktiviert wird. Danach wird es aber ggf. neu gezeichnet. Deshalb ist deine Zeichnung schlicht sofort wieder weg. Und da du diese nicht bei Bedarf (nämlich im korrekten Ereignis, OnDrawItem wurde ja z.B. schon genannt) erneut zeichnest, siehst du eben nichts davon.
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!