Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - linien in Tform zeichnen


galbe19 - Di 03.07.07 16:32
Titel: linien in Tform zeichnen
Hallo

wie kann ich ein paar linien in TForm zeichenen?
ich habe in der Toolbar nachgeschaut aber ich finde nichts.
wie kann ich einem Button eine andere Farbe geben?

mfg
alex


Danniolo - Di 03.07.07 16:36


Delphi-Quelltext
1:
2:
TForm1.Canvas.MoveTo
TForm1.Canvas.LineTo


mal anschauen.. ggf in der Onlinehilfe nachschauen (Begriff markieren und F1)


galbe19 - Do 05.07.07 16:54

Hallo

das habe ich versucht aber es funktioniert nicht

procedure TForm1.draw(Sender: TObject);
begin
form1.canvas.pen.Style:=psSolid;
form1.canvas.Pen.Color:=clred;
form1.Canvas.MoveTo(200,200);
form1.Canvas.lineTo(1000,1000);
end;

er zeichnet mir nichts.

mfg
Alex


JensLaskowski - Do 05.07.07 17:22

schreibe es mal in das OnCreate erreignis.

Mit freundlichen Grüßen
JensLaskowski


galbe19 - Do 05.07.07 18:25

es ist in OnCreate ereigniss geschrieben

mfg
alex


JensLaskowski - Do 05.07.07 18:32

schreib die procedure mal normal in deim Programm. und rufe die procedure einfach im onCreate über


Delphi-Quelltext
1:
draw(Sender);                    


auf. Du musst die procedure aber auch oben deklarieren.

Mit freundlichen Grüßen
JensLaskowski


Robinator - Do 05.07.07 18:43

user profile iconJensLaskowski hat folgendes geschrieben:
schreib die procedure mal normal in deim Programm. und rufe die procedure einfach im onCreate über


Delphi-Quelltext
1:
draw(Sender);                    


auf. Du musst die procedure aber auch oben deklarieren.

Mit freundlichen Grüßen
JensLaskowski


Im OnCreate zeichen? Das ist Unsinn! Das event feuert, bevor die Form überhaupt sichtbar ist, wenn du da zeichnest, wirst du es niemals zu gesicht kriegen. Das ganze per OnPaint zu machen ist schon richtig ;)

Wieso da nicht gezeichnet wird? Keine Ahnung! Wahrscheinlich wird gezeichnet, aber du hast die Koordinaten so ungünstig gewählt, dass davon nichts zu sehen ist, der code is jedenfalls ansich richtig.

gruss

EDIT: Ich seh gerade, dass dus garnicht im OnPaint hast, sondern in einer selber erstellen Methode, vermtl hast du die einfach nicht dem Event zugewiesen (Form wählen -> Object Inspector -> Ereigisse -> OnPaint -> Doppelklick -> Code schreibseln).


galbe19 - Fr 06.07.07 11:07

Danke

wenn ich es in OnPaint mache funktioniert es.

vielen Dank


Robinator - Fr 06.07.07 11:11

user profile icongalbe19 hat folgendes geschrieben:
Danke

wenn ich es in OnPaint mache funktioniert es.

vielen Dank


Immer wieder Gerne, Rechnung Folgt :P

gruss