Article ID: 237998 - Last Review: November 21, 2006 - Revision: 4.1 The CDialog class does not receive the WM_MOUSEWHEEL message on a Windows 95-based computerThis article was previously published under Q237998 Note Microsoft Visual C++ NET (2002) supported both the managed code
model that is provided by the Microsoft .NET Framework and the unmanaged native Microsoft Windows
code model. The information in this article applies to unmanaged Visual C++
code only. Note Microsoft Visual C++ 2005 supports both the managed code model that is provided by the .NET Framework and the unmanaged native Windows code model. SYMPTOMS When the mouse wheel is rotated on a dialog box, the
handler for the WM_MOUSEWHEEL message in the dialog class is not called on a
computer running Windows 95. CAUSE The CDialog class in MFC does not register the MSH_MOUSEWHEEL message, which
is required in order to receive WM_MOUSEWHEEL messages on a computer running
Windows 95. RESOLUTION You can work around the problem by following the steps
described below:
MORE INFORMATION There is an inherent difference between Windows NT 4.0 and
Windows 95 regarding Intellimouse messages. On Windows NT 4.0, some messages
are already registered by the system, or the support of the mouse wheel is
already built into the operating system (OS) and the OS sends WM_MOUSEWHEEL
message to any window. is provided by a separate module, mswheel, which generates the MSH_MOUSEWHEEL message. This module, which consists of Mswheel.exe and Mswheel.dll, is installed with the Intellipoint software that is shipped with the Intellimouse pointing device. Windows 95 sends the WM_MOUSEWHEEL message only to the window that has registered the MSH_MOUSEWHEEL window message. The CMainFrame class of MFC registers the MSH_MOUSEWHEEL message if the application is running on a Windows 95 computer, and sends a WM_MOUSEWHEEL message in the handler of this message. Hence, a view for SDI/MDI application receives the notification for this message. Dialog classes in MFC do not receive the WM_MOUSEWHEEL message because the CDialog class does not register the MSH_MOUSEWHEEL message. REFERENCES For additional information on WM_MOUSEWHEEL message please
refer to the following resources:
APPLIES TO
| Article Translations
|

Back to the top
