|
Scroll Bar Requests
The user makes scrolling requests by clicking various parts of a scroll bar.
Windows sends the request to the given window in the form of a WM_HSCROLL or WM_VSCROLL message. A horizontal scroll bar sends the WM_HSCROLL message; a vertical
scroll bar sends the WM_VSCROLL message. Each message includes a notification code
that corresponds to the user's action, to the handle of the scroll bar (scroll
bar controls only), and, in some cases, to the position of the scroll box.
The following figure shows the notification messages that the user generates
when clicking various parts of a scroll bar.
The scroll bar notification codes specify the action the user takes. An
application examines the codes that accompany the WM_HSCROLL and WM_VSCROLL messages
and then performs the appropriate scrolling operation. In the following table
of notification messages, the user's action is specified for each message,
followed by the application's response. In each case, a unit is defined by the
application as appropriate for the given data. For example, the typical unit for
scrolling text vertically is a line of text.
Notification
message
|
Action
|
Response
| SB_LINEUP
| The user clicks the top scroll arrow.
| Decrements the scroll box position; scrolls toward the top of the data by one
unit.
| SB_LINEDOWN
| The user clicks the bottom scroll arrow.
| Increments the scroll box position; scrolls toward the bottom of the data by
one unit.
| SB_LINELEFT
| The user clicks the left scroll arrow.
| Decrements the scroll box position; scrolls toward the left end of the data by
one unit.
| SB_LINERIGHT
| The user clicks the right scroll arrow.
| Increments the scroll box position; scrolls toward the right end of the data
by one unit.
| SB_PAGEUP
| The user clicks the scroll bar shaft above the scroll box.
| Decrements the scroll box position by the number of data units in the window;
scrolls toward the top of the data by the same number of units.
| SB_PAGEDOWN
| The user clicks the scroll bar shaft below the scroll box.
| Increments the scroll box position by the number of data units in the window;
scrolls toward the bottom of the data by the same number of units.
| SB_PAGELEFT
| The user clicks the scroll bar shaft to the left of the scroll box.
| Decrements the scroll box position by the number of data units in the window;
scrolls toward the left end of the data by the same number of units.
| SB_PAGERIGHT
| The user clicks the scroll bar shaft to the right of the scroll box.
| Increments the scroll box position by the number of data units in the window;
scrolls toward the right end of the data by the same number of units.
| SB_THUMBPOSITION
| The user releases the scroll box after dragging it.
| Sets the scroll box to the position given in the message; scrolls the data by
the same number of units the scroll box has moved.
| SB_THUMBTRACK
| The user drags the scroll box.
| Sets the scroll box to the position given in the message and scrolls the data
by the same number of units the scroll box has moved for applications that draw
data quickly. Applications that cannot draw data quickly must wait for the
SB_THUMBPOSITION message before moving the scroll box and scrolling the data.
| SB_ENDSCROLL
| The user releases the mouse after holding it on an arrow or in the scroll bar
shaft.
| No response is needed.
|
A scroll bar generates the SB_THUMBPOSITION and SB_THUMBTRACK notification
messages when the user clicks and drags the scroll box. An application should be
programmed to process either the SB_THUMBTRACK or the SB_THUMBPOSITION
notification message.
The SB_THUMBPOSITION notification message occurs when the user releases the
mouse button after clicking the scroll box. An application that processes this
message performs the scrolling operation after the user has dragged the scroll
box to the desired position and released the mouse button.
SB_THUMBTRACK notification messages occur as the user drags the scroll box. If
an application processes SB_THUMBTRACK messages, it can scroll the content of
a window as the user drags the scroll box. However, a scroll bar can generate
many SB_THUMBTRACK notification messages in a short period, so an application
should process these messages only if it can quickly repaint the content of the
window.
| Last news from Greatis Software |
 |
|
Nostalgia .Net |
|
.Net is powerful, but not all-powerful, so sometimes we need to use Win32 API for our .Net applications. It's simple enough with Platform Invoke if you have Win32 skill, but we do not always have time to dig the ancient documentation, declare the special types that are compatible with Win32, find the values of the Win32's constants and so on. Nostalgia .Net offers several simple-to-use classes, and components that will allow you to forget about the headache of Win32 and just use the power of Win32 in your application the same way as you use the native. Net classes. More » |
| Recommended software for developers |
 |
|
Ultimate Pack |
|
Component pack for Delphi and C++ Builder that contains runtime form designer, runtime object inspector, print suite and much more for the very special price. More » |
 |
|
Form Designer .Net |
|
Unique runtime form design solution that allows to edit any form in .Net WinForms application at runtime with full source codes for only 300 euro! More » |
 |
|
Print Suite .Net |
|
Print Suite .Net is a set of components for easy printing texts, images and grids from your WinForms applications. Full C# source codes are available More » |
 |
|
Gradient Controls .Net |
|
Gradient Controls .Net offers controls with gradient background feature. Labels, panels and so on... Full C# source codes are available More » |
 |
|
Greatis iGrid |
|
iGrid plots drawing grid right over your desktop, so you can use it everywhere, with any drawing application without any special plugins for different graphic editors. More » |
All the contacts and projectsDmitry Vasiliev (just.dmitry)
Related LinksSoftware for Visual Studio .NET developers Software for Delphi and C++ Builder developers Software for Visual Basic 6 developers Delphi Tips&Tricks MegaDetailed.NET More Online Helps Win32 Programmer's Reference Win32 Multimedia Programmer's Reference OLE Programmer's Reference Microsoft Windows Pen API Programmer's Reference Microsoft Windows Sockets 2 Reference Microsoft Windows Telephony API (TAPI) Programmer's Reference Unix Manual Pages
|