Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Erledigt: Mauspos außerhalb der Form abfragen (https://www.delphipraxis.net/151097-erledigt-mauspos-ausserhalb-der-form-abfragen.html)

SimonRap 5. Mai 2010 20:16


Erledigt: Mauspos außerhalb der Form abfragen
 
Hab jetzt nen mini-Prog geschrieben, das nicht so sinnvolle Sachen tut... aber naja
Hab BorderStyle=none (oder wie das heißt) und hab jetzt folgendes Problem
Also immer wenn ich auf einen meiner Buttons klicke (meine MouseDown), dann kommt ein anderes Bild... bla eig nich so wichtig...
Das Problem ist wesentlich:
Mit dem mousemove event kann man abfragen, wo sich der cursor befindet, aber geht das auch für außerhalb der Form?

Meine Buttons ersetzten die drei (minimieren, maximieren, schließen) Buttons oben rechts und wenn man von den Buttons wieder runtergeht, (z.B Form1.mousemove), kommt wieder das Standardbild...

Wenn man aber die Maus vom meinen Button nach oben rechts bewegt (außerhalb der Form), dann wird natürlich nichts abgefragt...
Kann man das irgendwie extern machen, das Abfragen der MausPos?

Sry Leute heute is nich mein Tag, heute is irgendwie alles :roteyes: :roteyes: wääähhhrrr
Wer mir helfen will es aber nich versteht, einfach downloaden, hoffe dann wirds klarer...
Bildmenü

mfg simon :roteyes:

Flips 5. Mai 2010 20:20

Re: Mauspos außerhalb der Form abfragen
 
Delphi-Quellcode:
Mouse.CursorPos.X
Mouse.CursorPos.Y
gibt die Position des Cursors realtiv zum Bildschirm. D.h. wenn deine Auflösung auf 1024*768 eingestellt ist und du die Maus ganz nach rechts bewegst bekommst du als Wert von X 1024.

SimonRap 5. Mai 2010 20:25

Re: Mauspos außerhalb der Form abfragen
 
d.h. entsprechend zu den verschiedenen auflösungen muss ich einfach nur wissen, ob die maus auf den image ist... WÄÄ?
Wie genau kann man das anstellen? Also die Position des Images vom gesamten Bildschirm aus betrachtet?
Ist das möglich?
mfg simon

himitsu 5. Mai 2010 20:31

Re: Mauspos außerhalb der Form abfragen
 
Ich würde einfach das in neueren Delphis bekannte Delphi-Referenz durchsuchenOnMouseLeave (MSDN-Library durchsuchenWM_MOUSELEAVE) implementieren.

Um dieses Mouse.CursorPos nutzen zu können müßte man ja z.B. über einen Timer ständig pollen und die Position abfragen.

[add]
Schau mal ob deine Form oder das Image eine Methode Namens Delphi-Referenz durchsuchenScreenToClient bietet.

Flips 5. Mai 2010 20:36

Re: Mauspos außerhalb der Form abfragen
 
Rechne doch zusammen...
Als Tipp: die Left-Eigenschaft deines Formulares gibt dir schonmal den Abstand deines Formulars vom linken Bildschirmrand. Die Left-Eigenschaft deines TImage gibt dir den Abstand des TImage zum linken Formularrand...die beiden addieren....

[Edit=roter Kasten]
Da ich weiß, dass unser Themenstarter ein Delphi-Neuling ist wollte ich im so starken Tobak nicht schon von Anfang an geben.
[/Edit]

SimonRap 5. Mai 2010 20:39

Re: Mauspos außerhalb der Form abfragen
 
thx filp und himi
@flip:
Es existiert ein Interesse an der generellen Rezession der Applikation relativ primitiver Methoden komplementär zur Favorisierung adäquater komplexer Algorithmen.
(Warum einfach wenns auch kompliziert geht^^)
Ne ok danke an euch, hat mir alles sehr weiter geholfen... :thumb: :thumb:
bis denne :hi: simon
[edit]
Zitat:

Zitat von Flips
....

[Edit=roter Kasten]

Was habt ihr denn eigentlich alle gegen rote Kästen? ;-)
[/edit]

Flips 5. Mai 2010 20:44

Re: Mauspos außerhalb der Form abfragen
 
Weil man dann weiß, dass man mit seiner Antwort zu langsam war ODER (wie in dem Fall) das die Gefahr besteht, dass jemand eine viel brilliantere Lösung hat und man sich umsonst grade einen Lösungsansatz überlegt hat :-D

Wobei ich meinen vorgeschlagenen Lösungsansatz auch nicht mehr benutzen würde, allerdings ist er halt einfach und plausibel....
IMHO, und das will nichts heißen :-X

Fussball-Robby 5. Mai 2010 21:39

Re: Mauspos außerhalb der Form abfragen
 
[Klugscheiss]
Zitat:

Zitat von Flips
D.h. wenn deine Auflösung auf 1024*768 eingestellt ist und du die Maus ganz nach rechts bewegst bekommst du als Wert von X 1024.

Links oben ist die Koordinate (0/0), rechts unten demnach (1023/767) :tongue:
[\Klugscheiss]


Nen schönen Abend noch :wink:

SimonRap 5. Mai 2010 21:43

Re: Erledigt: Mauspos außerhalb der Form abfragen
 
stimmt, hehe^^ :wink:


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:20 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