@JeanvanHees: ein Canvas-Objekt löschst Du am Besten durch Aufruf der Funktion <Clear>.
Wenn Du meinetwegen irgendwo ein Canvas hast und Du willst den Inhalt löschen, rufst Du einfach folgendes auf:
Quelltext
1: 2:
| with Canvas do Clear; |
Die exakte Pixeldistanz bei Pen.Style := psDot einzustellen ist meines Wissens nach überhaupt nicht möglich.
Zitat: |
Und wie kann ich die Penproperties nach normal zurücksetzen?
|
Du erstellst am besten eine Variable vom Typ TPen, der Du gleich zu Beginn des Programms (etwa bei Hauptformular <OnCreate>) die aktuellen Einstellungen von Canvas.Pen zuweist ...
Wenn Du jetzt die anfänglichen Einstellungen in Canvas.Pen zurückhaben willst, weist Du einfach Canvas.Pen die Variable vom Typ TPen wieder zu ...
Aussehen könnte das in etwa so :
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| ...
interface FForm1 : TFForm1; PenTemp: TPen;
procedure SavePenSettings; begin PenTemp := FForm1.Canvas.Pen; end;
procedure RestorePenSettings; begin FForm1.Canvas.Pen := PenTemp; end; |
Kann sein, dass sich jetzt ein kleiner Fehler eingeschlichen hat, ich habe es nicht ausprobiert, ob es funktioniert ...
Wichtig ist auf jeden Fall, dass "SavePenSettings" aufgerufen wird, bevor Du irgendetwas an den Pen-Properties während der Laufzeit änderst !!!
Hoffe, ich konnte Dir etwas helfen ...
indeterminatus.