![]() |
onMouseMove abfragen?
Hallo Alle!
Wie kann ich abfragen ob ich z.b. über ein Panel mit der Maus bin, ohne zu klicken? Gruß Heike |
Re: onMouseMove abfragen?
Du hast Dir doch schon mit deinem Titel die Anwort selbst gegeben.
|
Re: onMouseMove abfragen?
Zitat:
Delphi-Quellcode:
Gruß
if onMouseMove = True Then ....
Heike |
Re: onMouseMove abfragen?
Hallo,
da brauchst du HitTesting:
Delphi-Quellcode:
Sorry für das Monster... jetzt kommen bestimmt gleich 5 leute die dir sagen, wies viel schöner, kürzer und eleganter geht :)
if PtInRect
(rect(Panel1.ClientToScreen(point(0,0)), Panel1.ClientToScreen(point(Panel1.Width-1,Panel1.Height-1))), Mouse.CursorPos) then begin end; |
Re: onMouseMove abfragen?
du hast doch bei dem Panel das OnMouseMove?! Ich versteh nicht warum du da nicht erkennen kannst das die Mouse bewegt wird, schließlich wird das Ereignis ausgelöst sobald sich die Maus über dem Panel bewegt.
|
Re: onMouseMove abfragen?
Zitat:
davon noch eine andere Version:
Delphi-Quellcode:
if form1.ControlAtPos(form1.ScreenToClient(mouse.CursorPos), true, true)= Panel1 then
... |
Re: onMouseMove abfragen?
form1 ist eine spezielle Instanz. lieber die aktuelle Instanz mit Self ansprechen:
Delphi-Quellcode:
oder halt ganz drauf verzichten:
if self.ControlAtPos(self.ScreenToClient(mouse.CursorPos), true, true) = Panel1 then
...
Delphi-Quellcode:
if ControlAtPos(ScreenToClient(mouse.CursorPos), true, true) = Panel1 then
... |
Re: onMouseMove abfragen?
Oder so
Delphi-Quellcode:
if FindDragTarget(Mouse.CursorPos, True)= Panel1 then...
|
Re: onMouseMove abfragen?
Vielen Dank für die Antworten!
Ich möchte, wenn ich über ein Panel mit der Maus gehe, was auslösen. Aber nur wenn ich über das Panel gehe. Das Panel ist so groß wie meine Form. Ich habe es versucht. Das auslösen klappt gut, aber das Gegenteil nicht. Versucht habe ich es u.A. so:
Delphi-Quellcode:
Hier wird das Panel zwar grün gefärbt, aber wenn ich von dem Panel wegziehe wird es nicht schwarz. Was mache ich da falsch?
if FindDragTarget(Mouse.CursorPos, True)= Panel1 then Panel1.Color := cl Green else Panel1.Color := clBlack;
Gruß Heike |
Re: onMouseMove abfragen?
Wann bzw. wo frägst du denn ab!?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:25 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 by Thomas Breitkreuz