Moin, Popov.
Mit dem Code aus Beitrag #11 wollte ich meine Prosa aus Beitrag #8 untermauern. Das Besondere an diesem Code sind nicht die vorhandenen Zeilen, sondern die nicht vorhandenen.
Zitat von
Popov:
... Füg mal deinem Code diese Zeilen bei ...
Genau diese Zeilen verstoßen gegen die Regel. Nochmal mit anderen Worten: Du darfst in deinen CustomDraw-Routinen nichts auf dem Canvas ausgeben, oder du musst gleich die komplette Arbeit übernehmen. In Beitrag #6 ist das auch schon angedeutet worden. Keine Ahnung, ob das in jüngeren Delphi-Versionen geändert wurde. Da nehme ich die Aussage von
extrem einfach mal so hin.
Mein Code zeigt, wie du die ersten drei Beispiele aus deinem Beitrag #9 ohne seltsame Effekte kodieren kannst. Rectangle() ist eine Ausgabe und wenn du daran festhalten willst, dann musst du das Zeichnen der Subitems vollständig selbst übernehmen. Den Aufwand würde ich mir ersparen, da Rectangles nicht sehr ästhetisch rüber kommen, wenn sie sich berühren.
Zitat von
Popov:
... Im vierten Beispiel mit DefaultDraw := False;. Die Grafik wird korrekt gezeichnet, aber die Texte davor werden nicht ausgegeben.
Vielleicht weißt du es nicht: Mit DefaultDraw steuerst du auch und besonders die Textausgabe mit DrawText().
Zitat von
rotfc:
Steckt doch bitte *Beide* die Faust in die Tasche und zählt dann bis Zehn.
Das verstehe ich nicht, Roland. Hast du eventuell im falschen Thread gepostet?
Freundliche Grüße