Autor Beitrag
Thomas_1110
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22

Win Vista
Delpi 7 Personal
BeitragVerfasst: Sa 19.04.03 23:05 
Hallo
Bin noch sehr unerfahren in Delphi.
Ich frag mich was macht eigentlich Refresh bezüglich auf Canvas oder wie setzt man das richtig ein?
Gruß Thomas
Andreas Pfau
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 997



BeitragVerfasst: So 20.04.03 20:44 
Habe cih noch nie benutzt. Laut der Online-Hilfe werden die Eigenschaften Pen, Brush und Font vom DC gelöscht, und später wieder automatisch gesetzt. Hört sich nach debugging an.

Villeicht suchst du eher nach Repaint oder Invalidate. Mit deisen Befehlen weist du z.b. einem TImage an, den Inhalt neu zu zeichnen (Repaint->sofort, Invalidate->Sobald genug Zeit ist).

_________________
Life is a bad adventure, but the graphic is really good!
t/f
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 70



BeitragVerfasst: So 20.04.03 22:33 
Wenn du z.B. schreibst:

ausblenden Quelltext
1:
2:
Form1.Canvas.Pen.MoveTo(x,y);
Form1.Canvas.Pen.LineTo(x2,y2);


...

dann wird mit

ausblenden Quelltext
1:
2:
Form1.Refresh;
//Delphi 6


so ein Strich wieder weggewischt. Also du kannst die Canvas mit solchen Malereien vollkrickeln und danach mit Refresh wieder sauberwischen.
Die Buttons und so Komponentenzeugs beleibt jedoch erhalten.

greetz
//me
Thomas_1110 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22

Win Vista
Delpi 7 Personal
BeitragVerfasst: Mo 21.04.03 00:34 
Hallo
Aber wenn ich in eine TImage zeichne funktioniert das nicht (Delphi 3).
Bis jetzt mach ichs immer so wenn ich löschen will, daß ich ein ausgefülltes Rechteck über die Zeichnung lege. Gibts da keine andere Lösung?
Gruß Thomas
t/f
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 70



BeitragVerfasst: Mo 21.04.03 00:49 
du kannst auch auf Form1.Canvas draufzeichnen ;).... das Nutzen eines Images prinzipiell eigentlich nicht von nöten, soweit ich weiß.

Schonmal probiert 'n Image zu refreshen?
Oder pssiert da nix?

greetz
//me

_________________
OS: Linux - RedHat 9
Delphi: Kylix 3
t/f
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 70



BeitragVerfasst: Mo 21.04.03 00:55 
Also hab' einfach in die Delphi-Hilfe geguckt. Dort steht, dass mithilfe von Refresh die Funktion Repaint aufgerufen wird.

Repaint gehört zur Klasse TControl und erzwingt das "Neumalen" eines Images.

sollte also mit so ziemlich allen Canvases und Images funzen.

greetz
//me ... :D

_________________
OS: Linux - RedHat 9
Delphi: Kylix 3
Thomas_1110 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22

Win Vista
Delpi 7 Personal
BeitragVerfasst: Mo 21.04.03 03:46 
Hallo
ja das hab ich auch gelesen. Refresh macht nix anders als Repaint.
Wenn ich auf Form1 zeichne und es wird durch ein anderes Fenster überlagert dann verschwindet meine Zeichnung wenn die Zeichnung wieder im sichtbaren Bereich wäre (das ließe sich sicher mit Ereignissen steuern muß aber nicht sein).
Vielleicht ist das auch der Grund warum ein Refresh auf Form1 ein sichtbares Ergebnis bringt und auf Image1 nicht.
Gruß Thomas