Nabend,
ich nochmal. Ich habe die letzten Tage ein wenig experimentiert und scree.cursors ist mir nicht "global" genug. Nach einigem Googlen stieß ich auf SetSystemCursor().
Das funktioniert wunderbar. Nur habe ich mit dem zurücksetzen Probleme. Etwas Code:
Zuerst definiere ich die eigentliche BackupVariable im
Unit Kopf:
Delphi-Quellcode:
...
var
Form1: TForm1;
CurSysCursor: HCURSOR;
...
Dann rufe ich einen Button auf, der diese Backup Variable EIGENTLICH füllen soll und danach den Mauszeiger ändern:
Delphi-Quellcode:
procedure TForm1.Button11Click(Sender: TObject);
var h: THandle;
begin
CurSysCursor := GetCursor;
h:=LoadImage(0, PChar(ExtractFilePath(Application.Exename) + '..\img\cursor\1.cur'), IMAGE_CURSOR, 0, 0, LR_DEFAULTSIZE or LR_LOADFROMFILE);
Screen.Cursors[1]:=h;
SetSystemCursor(Screen.Cursors[1],OCR_NORMAL);
end;
Das funktioniert. Möchte ich aber mit einem anderen Button den Cursor zurücksetzen, passiert... nichts.
Code:
SetSystemCursor(CurSysCursor, OCR_NORMAL);
Ich muss zugeben, ich beziehe mich bei dem Code "nur" auf gefundene Beispiele, weil ich leider selbst zu wenig Ahnung in dem Bereich habe.
Warum funktioniert das Zurücksetzen nicht? Gibt es andere "Notfall Reset" Funktionen die ich nutzen könnte? Hoffe Ihr könnt helfen...
Gruß,
Andreas