DOC: Vertical Slider Control Sends WM_VSCROLL Message (143410)



The information in this article applies to:

  • The Microsoft Foundation Classes (MFC), when used with:
    • Microsoft Visual C++, 32-bit Editions 4.0
    • Microsoft Visual C++, 32-bit Editions 4.1
    • Microsoft Visual C++, 32-bit Enterprise Edition 4.2
    • Microsoft Visual C++, 32-bit Professional Edition 4.2
    • Microsoft Visual C++, 32-bit Enterprise Edition 5.0
    • Microsoft Visual C++, 32-bit Professional Edition 5.0

This article was previously published under Q143410

SUMMARY

The following paragraph from MFC Technical Note 60 is incomplete.

"Slider Notification Messages

A slider control notifies its parent window of user actions by sending the parent WM_HSCROLL messages. You can override the parent's OnHScroll member function to handle these messages. This function will be passed a notification code, the position of the slider, and a pointer to the CSliderCtrl object. Note that the pointer is of type CScrollBar* even though it points to a CSliderCtrl object. You may need to typecast this pointer if you need to manipulate the slider control."

This information is true only for a HORIZONTAL slider control (a trackbar with the TBS_HORZ style). For a VERTICAL slider control (a trackbar with the TBS_VERT style), the WM_VSCROLL will be sent instead of the WM_HSCROLL message. You should override the parent's OnVScroll() member function to handle these messages.

In Visual C++, versions 5.0 and later, the above text is part of the help topic titled "Slider Control Notification Messages."

MORE INFORMATION

The correct documentation can be found from the Trackbar Notification Messages in Win32 SDK of Visual C++ 4.x Books Online.

A vertical slider control is used in the FIRE sample program. However, in the sample OnHScroll() was overridden instead of OnVScroll(). Therefore, the code in OnHScroll() (intended for the vertical slider control) will not be executed when running this sample. Microsoft has confirmed this to be a bug in the sample in Visual C++ 4.0. To fix this problem with FIRE, replace the OnHScroll() handler with an OnVScroll() handler. This problem was corrected in Visual C++ 4.1.

Modification Type:MajorLast Reviewed:12/9/2003
Keywords:kbBug kbCmnCtrls kbdocerr kbdocfix kbfix kbScrollBar KbUIDesign kbVC410fix KB143410