Delphi-PRAXiS
Seite 2 von 2     12   

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 18. Jun 2009 08:46

Re: Auf Cursorveränderung reagieren
 
Zitat:

Zitat von Hybrid666
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...

Delphi-Quellcode:
procedure TForm1.Timer2Timer(Sender: TObject);
var
  bla : TCursorInfo;
begin
  bla.cbsize := sizeof (bla);
  GetCursorInfo (bla);
if bla.cbsize =crHandpoint then
begin
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
Timer2.Enabled:=false;
end;
end;.
Der Klick wird nach wie vor nicht ausgeführt, außer ich ändere es auf crDefault.
Wieso überprüft es nur den eingestellten Cursor und nicht den angezeigten ??

Reinhard Kern 18. Jun 2009 22:21

Re: Auf Cursorveränderung reagieren
 
Zitat:

Zitat von Phil125
Delphi-Quellcode:
procedure TForm1.Timer2Timer(Sender: TObject);
var
  bla : TCursorInfo;
begin
  bla.cbsize := sizeof (bla);
  GetCursorInfo (bla);
if bla.cbsize =crHandpoint then

Das ist völliger Unsinn. Du hast dich wohl garnicht erst informiert, wie bla aufgebaut ist? Programmieren besteht nicht einfach aus Aneinanderfügen von kopierten Textbausteinen.

Gruss Reinhard

quendolineDD 18. Jun 2009 22:28

Re: Auf Cursorveränderung reagieren
 
Zumal du immer noch nicht den Teil mit der IF-Abfrage mit begin und end eingeschlossen hast.

Phil125 19. Jun 2009 12:59

Re: Auf Cursorveränderung reagieren
 
Zitat:

Zitat von Reinhard Kern
Zitat:

Zitat von Phil125
Delphi-Quellcode:
procedure TForm1.Timer2Timer(Sender: TObject);
var
  bla : TCursorInfo;
begin
  bla.cbsize := sizeof (bla);
  GetCursorInfo (bla);
if bla.cbsize =crHandpoint then

Das ist völliger Unsinn. Du hast dich wohl garnicht erst informiert, wie bla aufgebaut ist? Programmieren besteht nicht einfach aus Aneinanderfügen von kopierten Textbausteinen.

Gruss Reinhard

Ja ich habe keinen Plan aber du kannst mirs ja erklären wenn du willst wäre echt nett ich bruach diesen code bitte.

Reinhard Kern 19. Jun 2009 13:20

Re: Auf Cursorveränderung reagieren
 
Zitat:

Zitat von Phil125
Hallo,

Mein Programm soll wenn der Cursor von crDefault auf crHandpoint wechselt
einen Linkscklick durschführen
...

Hallo,

meines Wissens kann man nicht feststellen, wie der aktuelle Cursor aussieht - man bekommt nur ein Handle zum Cursor, und man könnte höchstens für die bekannten Cursortypen ein Handle anfordern und mit diesem vergleichen, aber ohne Erfolgsgarantie: der Cursor kann genausogut von einem fremden Programm geladen worden sein. Auch bei den Standardhandles bin ich mir nicht sicher, ob verschiedene Programme für den gleichen Cursor auch das gleiche Handle bekommen, ist aber wahrscheinlich.

Da du aber nicht einmal Records kennst, liegt das weit ausserhalb deiner Möglichkeiten.

Im konkreten Fall wird es eh nicht funktionieren, weil:

// Comments from CC Chong:
// "Yes IDC_HAND is the hidden resource of Windows. On Win98 and above (or since
// ActiveDesktop Update in IE4, if I'm not mistaken) Windows has the IDC_HAND
// cursor built in to the system."

// "But it is not the same as Delphi's crHandPoint. Delphi doesn't use Windows'
// IDC_HAND. crHandPoint is Delphi's own inclusion in it's Controls.res (found
// in your Delphi\lib)."

crHandpoint entspricht also NICHT dem IDC_HAND Cursor anderer Software!!!

Gruss Reinhard


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:57 Uhr.
Seite 2 von 2     12   

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