Einzelnen Beitrag anzeigen

Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#9

Re: Canvas Bezugspunkt ändern

  Alt 17. Mär 2007, 15:24
Zitat von Flo.Hoe:
@Flocke: Die Methode die du mir gegeben hast setzt den Bezugspunkt nicht auf die Form, sondern auf einen Festen Punkt auf dem "Monitor". So kommt es dazu, dass die Zeichnungen sich verschieben, wenn die Form verschoben wird.
Dann probiere die Varianten OffsetWindowOrgEx bzw. OffsetViewportOrgEx, die verschieben den Ursprung und setzen ihn nicht komplett neu. Außerdem solltest du diese Aktion später wieder rückgängig machen, also etwa so:
Delphi-Quellcode:
var
  pt: TPoint;
begin
  OffsetWindowOrgEx(Canvas.Handle, DeltaX, DeltaY, pt);
  try
    // Zeichnen auf Canvas
  finally
    SetWindowOrgEx(Canvas.Handle, pt.X, pt.Y, nil);
  end;
end;
Nachtrag: Siehe auch unter Coordinate Space and Transformation Functions, da finden sich alle API-Funktionen, die damit zu tun haben.
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat