WM_MOUSEHWHEEL falsch definiert



  • Ich wollte in meiner WindowProcedure die WM_MOUSEHWHEEL-Nachricht behandeln, bekomme sie aber nicht. Der Grund ist, dass WM_MOUSEHWHEEL falsch definiert ist. Es sollte als 0x20a definiert sein (laut http://msdn.microsoft.com/en-us/library/windows/desktop/ms645617(v=vs.85).aspx), ist aber als 0x20e definiert. Windows schickt mir korrekt 0x20a bei jedem Mouserad-Event.
    In meiner WinUser.h steht in den Zeilen 1995 und folgenden:

    #if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400)
    #define WM_MOUSEWHEEL                   0x020A
    #endif
    #if (_WIN32_WINNT >= 0x0500)
    #define WM_XBUTTONDOWN                  0x020B
    #define WM_XBUTTONUP                    0x020C
    #define WM_XBUTTONDBLCLK                0x020D
    #endif
    #if (_WIN32_WINNT >= 0x0600)
    #define WM_MOUSEHWHEEL                  0x020E
    #endif
    

    Mein _WIN32_WINNT ist als 0x0601 definiert, Win7x64, Visual Studio 2010 Pro 4.0.x SP1 Rel.
    Sollte ich einfach WM_MOUSEHWHEEL in 0x020a umdefinieren?
    Sollte ich statt "case WM_MOUSEHWHEEL:" "case 0x020a:" schreiben?



  • Was denn nun, WM_MOUSEWHEEL oder WM_MOUSEHWHEEL?

    Wenn du das normale Mausrad zum vertikalen scrollen nutzen möchtest, dann schreibst du natürlich case WM_MOUSEWHEEL: 🤡



  • Ups, hab das H überlesen -.-


Anmelden zum Antworten