![]() |
adDraw und cursor position
hallo leute =)
ich bastel gerade ein bisschen mit Andorra 2D und würde gerne ne grafik auf meinem adDraw per maus bewegen. das funktioniert soweit auch nur aber irgentwie total versetzt.. also ich kann die grafik bewegen, nur ist die halt immer ein paar hundert pixel neben dem cursor, was doch ziemlich störend ist. zeichnen tuhe ich das ganze wie folgt:
Delphi-Quellcode:
habt ihr vielleicht ne idee woran das liegen könnte?
procedure TForm1.Idle(Sender: TObject; var Done: Boolean);
var posx, posy: Integer; begin AdDraw.ClearSurface(clBlack); posx := Mouse.CursorPos.X; posy := Mouse.CursorPos.Y; if (posx > AdDraw.Display.Width - 90) then posx := AdDraw.Display.Width - 90; if (posy > AdDraw.Display.Height - 10) Then posy := AdDraw.Display.Height - 10; AdDraw.BeginScene; AdImageList.Find('base').Draw(AdDraw, posx, posy, 0); AdDraw.EndScene; AdDraw.Flip; Done := False; end; über hilfe würd ich mich freuen. gruß |
Re: adDraw und cursor position
Mouse.CursorPos ist relativ zur linken oberen Ecke des Desktops, das Zeichnen passiert aber relativ zur linken oberen Ecke der Form. Man muss die Position also "umrechnen", und das übernimmt ScreenToClient.
Delphi-Quellcode:
posx := ScreenToClient(Mouse.CursorPos).X;
posy := ScreenToClient(Mouse.CursorPos).Y; |
Re: adDraw und cursor position
jetzt funktionierts.
großes danke =D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:42 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