Delphi-PRAXiS
Seite 1 von 2  1 2   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Auf Cursorveränderung reagieren (https://www.delphipraxis.net/135715-auf-cursorveraenderung-reagieren.html)

Phil125 16. Jun 2009 14:39


Auf Cursorveränderung reagieren
 
Hallo,

Mein Programm soll wenn der Cursor von crDefault auf crHandpoint wechselt
einen Linkscklick durschführen
So habe ich es bisher probiert:
Delphi-Quellcode:
if Screen.Cursor = crHandPoint then
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
Jedoch wird so der Mausklick nie ausgeführt egal welcher cursor gerade zu sehen ist.
Ich denke dass dies daran liegt das er nur den aktuellen Standard Cursor überprüft,
nicht den aktuell angezeigten.

Denn wenn ich den Code so umändere:
Delphi-Quellcode:
if Screen.Cursor = crDefault then
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
wird der Klick sofort ausgeführ auch wenn nicht der crDefault Cursor
gerade angezeigt wird.

Ich hoffe mir kann jemand helfen !

SimStar001 16. Jun 2009 14:41

Re: Auf Cursorveränderung reagieren
 
du kontrollierst ja mit deinem code nur zur ausführeung den cursor status...
du musst z.b. mit nem timer ständig überprüfen...

quendolineDD 16. Jun 2009 14:51

Re: Auf Cursorveränderung reagieren
 
Das sind alle relevanten Funktionen zum Cursor: klick mich.
Weiß nicht, ob es eine Nachricht gibt, wenn der Cursor gewechselt wird. Jedenfalls kann man mit WM_SETCURSOR den Cursor wechseln.

freak4fun 16. Jun 2009 14:52

Re: Auf Cursorveränderung reagieren
 
Delphi-Quellcode:
if Screen.Cursor = crDefault then
begin
  mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
  mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
end;
:wink:

Phil125 16. Jun 2009 15:21

Re: Auf Cursorveränderung reagieren
 
Zitat:

Zitat von SimStar001
du kontrollierst ja mit deinem code nur zur ausführeung den cursor status...
du musst z.b. mit nem timer ständig überprüfen...

Ist bereits in einem Timer

Reinhard Kern 16. Jun 2009 15:34

Re: Auf Cursorveränderung reagieren
 
Zitat:

Zitat von quendolineDD
Das sind alle relevanten Funktionen zum Cursor: klick mich.
Weiß nicht, ob es eine Nachricht gibt, wenn der Cursor gewechselt wird. Jedenfalls kann man mit WM_SETCURSOR den Cursor wechseln.

Hallo,

nach Beschreibung GetCursorInfo. Habs aber nicht getestet.

Gruss Reinhard

Phil125 16. Jun 2009 15:49

Re: Auf Cursorveränderung reagieren
 
Zitat:

Zitat von Reinhard Kern
Zitat:

Zitat von quendolineDD
Das sind alle relevanten Funktionen zum Cursor: klick mich.
Weiß nicht, ob es eine Nachricht gibt, wenn der Cursor gewechselt wird. Jedenfalls kann man mit WM_SETCURSOR den Cursor wechseln.

Hallo,

nach Beschreibung GetCursorInfo. Habs aber nicht getestet.

Gruss Reinhard

Wäre verdammt nett wenn mir jemand den Code dazu gleich sagen könnte,
steige da leider nicht ganz durch...

Phil125 17. Jun 2009 21:05

Re: Auf Cursorveränderung reagieren
 
keiner ?

Hybrid666 17. Jun 2009 21:14

Re: Auf Cursorveränderung reagieren
 
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  bla : TCursorInfo;
begin
  bla.cbSize := sizeof (bla);
  GetCursorInfo (bla);
end;
Damit wird die genannte funktion ausgeführt. In bla stehen dann deine Cursor infos...

toms 18. Jun 2009 03:46

Re: Auf Cursorveränderung reagieren
 
Zitat:

Zitat von Phil125
Wäre verdammt nett wenn mir jemand den Code dazu gleich sagen könnte,
steige da leider nicht ganz durch...

Ich hoffe aber, dass du weisst wie die Forumsuche funktioniert?
Hier im Forum suchenGetCursorInfo
oder Bei Google suchenGetCursorInfo Delphi


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:36 Uhr.
Seite 1 von 2  1 2   

Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf