Mauszeiger verändern

HotrenorTaak

Grünschnabel
Wie schaffe ich es mit Hilfe der MFC den StandardMauszeiger durch einen selbst im Ressourceneditor gezeichneten zu ersetzen

Bsp:

Auf dem Menüpunkt Zeiger soll der neue Zeiger erscheinen.

Versuch:

Code:
void CMyView::OnZeiger()
{
  HCURSOR myCursor = AfxGetApp()->LoadCursor(IDC_CURSOR1); 
  // ResourceID = IDC_CURSOR1
  HCURSOR OldCursor = ::SetCursor(myCursor);
}

Was mache ich da falsch? Wie kriege ich es hin , dass das von mir beschriebene Verfahren realisiert wird.

Auf Eure Hilfe hoffend...

MfG
HT
 
Der Code an sich ist schon richtig. Allerdings sendet Windows bei jeder Bewegung des Mauszeigers über dem Fenster ein WM_SETCURSOR, wo dann durch ein paar Instanzen ein neuer Mauszeiger gesetzt wird.

Du müsstest also zusätzlich zu dem Code unter dem Menüpunkt dir den aktuellen Mauszeiger merken. Dann einen Handler für WM_SETCURSOR (OnSetCursor) einsetzen lassen und dort deinen Mauszeiger setzen.

Prüfe aber in OnSetCursor die hit-test-Variable, sonst wird dein Mauszeiger überall über deinem Fenster verwendet (auch beim Fenster-Gross-ziehen zum Beispiel).
 

Neue Beiträge

Zurück