Thema: Delphi Auf Shape zeichnen

Einzelnen Beitrag anzeigen

slytab

Registriert seit: 18. Mär 2008
2 Beiträge
 
Delphi 5 Standard
 
#1

Auf Shape zeichnen

  Alt 18. Mär 2008, 13:25
Hallo, ich würde gerne auf einem rechteckigen Shape eine Diagonale einzeichnen.
Ich würde dazu gerne das Canvas des Shapes benutzen, ist zwar protected, aber über with scheine ich dranzukommen:

Delphi-Quellcode:
   with shape1 do
   begin
      Canvas.Pen.Color := clBlack;
      Canvas.MoveTo(Left, Top);
      Canvas.LineTo(Width+left, Height+Top);
   end;
Im Prinzip funktioniert es, nur man sieht es nicht, da die Linie immer unter das Shape gezeichnet wird.

Ich kann das erkennen, wenn ich das Shape nicht ausfülle.
Und: Warum klappt dies nur in der onPaint-Routine, nicht in onActivate?

Und wie bekomme es hin, dass ich die Linie sehe, wenn das Shape (weiß) ausgefüllt ist (brush.style = bsSolid)? Dann überdeckt das Shape die Linie.

Mir liegt jetzt mehr daran, die Phänomeme zu verstehen, als Alternativlösungen zu bekommen.

Viele Grüße & Dänke
slytab
Miniaturansicht angehängter Grafiken
shapes_und_diagonale_190.gif  
  Mit Zitat antworten Zitat