Einzelnen Beitrag anzeigen

Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.142 Beiträge
 
Delphi 10.3 Rio
 
#9

Re: Aktuellen Mauszeiger Abfragen..

  Alt 21. Dez 2009, 08:48
Zitat von himitsu:
Hat mal wer probiert was passiert, wenn man sich zu den bekannten Cursor-IDs ein Handle besorgt und dieses mit diesem Handle vergleicht?
Ja das war auch mein Ansatz...

Das Problem ist das die Funktion GetIconInfo nur dann funktioniert wenn die Maus auch dargestellt wird...

Als mit der Schleife über alle ID'S klappt es nicht, weil sich dafür die Maus auch noch bewegt haben muss..

Zitat von Hawkeye219:
GetCursor liefert ein Cursor-Handle, nicht die gewünschte Cursor-ID. Die von Delphi verwendete ID lässt sich aber relativ leicht aus dem Handle bestimmen:

Delphi-Quellcode:
// uses Windows, Forms

function GetActiveCursor: TCursor;
var
  CursorHandle: HCURSOR;
begin
  CursorHandle := GetCursor;

  for Result := crSizeAll to Screen.CursorCount do
    if (Screen.Cursors[Result] = CursorHandle) then
      Exit;

  Result := crDefault;
end;
Das funktioniert leider auch nicht... Zum start ist Cursorcount = 0. Mal abgesehen davon, dass ein Setcursor den wert erhöht, auch wenn der Cursor
schon vorhanden ist... Bedeutet das mit jedem Setcursor die Liste immer größer wird...


Zitat von toms:
MSDN-Library durchsuchenGetIconInfo liefert doch diese Angabe.
s.o. Wie gesagt nur ein Handle nicht das ID...

Vielleicht gibt es eine Funktion die den Windows Status ausgibt, damit man selber den Cursor setzen kann?

Mavarik
  Mit Zitat antworten Zitat