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