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 -.-