![]() |
relativen Urprung eines Canvas ermitteln
Tag.
Ich möchte in einer Funktion der ein Canvas übergeben wird dessen Ursprung auf dem Bildschrim ermmitteln. Ich habe das Problem folgendermaßen vereinfacht:
Delphi-Quellcode:
Beim Klick auf den btnCheckOrgn springt der Mauszeiger aber an den ClientOrigin der Form und nicht an den Origin der PaintBox.
function GetCvasOrgn(CVas:TCanvas):TPoint;
begin GetDCOrgEx(CVas.Handle,Result); end; procedure TForm1.btnCheckOrgnClick(Sender: TObject); begin Mouse.CursorPos:=GetCvasOrgn(PaintBox1.Canvas); end; Was mach ich da falsch? Viele Grüße + Danke, Christoph |
Re: relativen Urprung eines Canvas ermitteln
Im PSDK steht: The GetDCOrgEx function retrieves the final translation origin for a specified device context (DC). The final translation origin specifies an offset that the system uses to translate device coordinates into client coordinates (for coordinates in an application's window). |
Re: relativen Urprung eines Canvas ermitteln
Zitat:
Delphi-Quellcode:
Wie du das jetzt in deine Funktion einbauen kannst, überlasse ich dir.
procedure TForm1.Button1Click(Sender: TObject);
var Origin: TPoint; begin GetViewportOrgEx(PaintBox1.Canvas.Handle, Origin); Origin := ClientToScreen(Origin); SetCursorPos(Origin.X, Origin.Y); end; |
Re: relativen Urprung eines Canvas ermitteln
Hmmm danke, aber.. mir ist nicht verständlich, warum das bei ner PaintBox funzt aber bei nem Image nicht.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz