Objekt an Mausposition binden
Guten Morgen, Gemeinde!
Mein Problem sieht folgendermaßen aus: Ich möchte ein TShape mit dem OnStartDrag-Ereignis eines Labels erzeugen und dafür sorgen, dass dieses Shape der Maus folgt. Mit dem OnEndDrag-Ereignis des Labels soll das Shape dann wieder verschwinden. Ich bin leider völlig ratlos, obwohl es ja ziehmlich simpel klingt... Hoffentlich wisst ihr alle mehr als ich... Beste Grüße, grebaldi |
Re: Objekt an Mausposition binden
ueber den paint-event der Form könnte man die mousepos übergeben z.B.
|
Re: Objekt an Mausposition binden
dann würde das shape aber der maus nicht folgen
|
Re: Objekt an Mausposition binden
klar würde er das machen ;)
|
Re: Objekt an Mausposition binden
habs eben ausprobiert... Er machts nicht... :wall:
|
Re: Objekt an Mausposition binden
Zitat:
|
Re: Objekt an Mausposition binden
- setz ne globale var durch den labeldragevent
- Form.onmousemove... übergeb damit die cursorpos... uuppsss vergessen.. sample:
Delphi-Quellcode:
var blub : boolean;
Procedure tform1.onmousemove(); begin if (Shape <> nil) and blub then begin {poswerte übergeben} end; end; |
Re: Objekt an Mausposition binden
Jo, die Idee hatte ich auch gerade, aber da gibt es ein geringfügiges Problem.
Wenn sich die Maus nun innerhalb der Listbox oder irgendeinem beliebigen Element auf dem Formular befindet, bewegt sich das Shape nicht mehr mit. Rein Theoretisch müsste ich die Routine in alle vorhandenen OnMouseOver-Events einbinden, damit das einwandfrei funktioniert - aber gibt es da nicht vielleicht eine elegantere Lösung? |
Re: Objekt an Mausposition binden
schei.. stimmt... sorry bin etwas eingerostet... :wall:
|
Re: Objekt an Mausposition binden
Code:
Ist nicht so elegant, aber das müsste für dich reichen ;)
timer, intervall: 10
OnTimer: Shape1.Left := ScreenToClient( Mouse.CursorPos ).X - Shape1.Width div 2; Shape1.Top := ScreenToClient( Mouse.CursorPos ).Y - Shape1.Height div 2; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz