[C++] Cursor Verstecken

MagicSword

Cadet 4th Year
Registriert
Sep. 2001
Beiträge
111
Hallo
Ich möchte den Windows Mauszeiger verstecken. Mit "ShowCursor(0);" geht er zwar weg aber nur im aufgerufenen Fenster. Ich möchte, dass er überall nicht zu sehen ist.

MS
 
Hab zwar eigentlich keine Ahnung von C++ aber meinem Verstand nach musst du schon auf die API zugreifen wenn du außerhalb deiner Form arbeiten willst.
 
Aha wieder was gelernt ;)
 
Original erstellt von Toaster

Ich würde mal SetCursor versuchen, als Parameter würde ich NULL übergeben.

Das habe ich auch schon gemacht. Leider passiert bei SetCursor überhaupt nix.
 
Die Hardcore-Methode besteht darin, die SystemCursor zu verändern.
Du erstellst in deinen Resourcen einen neuen Cursor, der leer ist (einfach nichts reinzeichnen). Dann holst du dir eine Instanz und überschreibst damit die Systemcursor:

Code:
HCURSOR  hcur = LoadCursor(GetModuleHandle(NULL),MAKEINTRESOURCE(IDC_CURSOR1));
SetSystemCursor(hcur,OCR_NORMAL);
//SetSystemCursor(hcur,32512);

Die auskommentierte Zeile brauchte es bei mir, wei der Präprozessor irgendwie das #define nicht richtig eingesetzt hat. Sollte aber mit der Konstanten gehen.
Mit diesem Beispielcode wird nun der Standardcursor "durchsichtig". Schau mal in der Hilfe bei SetSystemCursor. Da stehen die Konstanten auch für alle anderen Standardcursor.

Das Problem ist nun noch die Original Cursor zu sichern und später wieder herzustellen. Sonst wird die Bedienung mit der Maus etwas schwierig.
 
Zuletzt bearbeitet:
warum willst du überhaupt den Cursor außerhalb der Applikation verstecken !? wenn es nicht gerade um einen (bösen) Scherz geht, ist das absolut sinnlos und fördert nicht die Usability :o
 
@ Herbert2221
Danke. So hat es funktioniert.

@Loopo
Keine Angst. Ich will niemanden einen Streich spielen. In einem Projekt verschiebe ich die Maus mit einem Eye-Tracker. Dabei ist es manchmal Hilfreich, wenn der Cursor nicht zu sehen ist.
 
Zurück
Oben