|
Scroll Box Position and Scrolling Range
The position of the scroll box is represented as an integer; it is relative to
the left or upper end of the scroll bar, depending on whether the scroll bar
is horizontal or vertical. The position must be within the minimum and maximum
values of the scrolling range. For example, in a scroll bar with a range of 0
through 100, position 50 is in the middle, with the remaining positions
distributed equally along the scroll bar. The initial range depends on the scroll bar.
Standard scroll bars have an initial range of 0 through 100; scroll bar controls
have an empty range (both minimum and maximum values are zero), unless you
supply an explicit range when the control is created. You can change the range at
any time. With operating system version 4.0 or later, you can use the SetScrollInfo function to set the range values, and the GetScrollInfo function to retrieve the current range values. In versions earlier than 4.0,
you can use the SetScrollRange and GetScrollRange functions.
An application typically adjusts the scroll range to convenient integers,
making it easy to translate the scroll box position into a value corresponding to
the data object to be scrolled. For example, if an application must display 260
lines of a text file in a window that can show only 16 lines at a time, the
vertical scroll bar range can be set to 1 through 244. If the scroll box is at
position 1, the first line will be at the top of the window. If the scroll box is
at position 244, the last line (line 260) will be at the bottom of the window.
If an application attempts to specify a position value that is less than the
minimum or more than the maximum, the minimum or maximum scrolling range value is
used instead.
In version 4.0 or later, an application can set a page size for a scroll bar.
The page size represents the number of data units that can fit in the client area of the
owner window given its current size. For example, if the client area can hold 16
lines of text, an application would set the page size to 16. Windows uses the
page size, along with the scrolling range and length of the scroll shaft, to set
the size of the scroll box. Whenever a window containing a scroll bar is
resized, an application should call the SetScrollInfo function to set the page size. An application can retrieve the current page
size by calling the sending GetScrollInfo function.
To establish a useful relationship between the scroll bar range and the data
object, an application must adjust the range whenever the size of the data
object changes.
As the user moves the scroll box in a scroll bar, the scroll bar reports the
scroll box position as an integer in the scrolling range. If the position is the
minimum value, the scroll box is at the top of a vertical scroll bar or at the
left end of a horizontal scroll bar. If the position is the maximum value, the
scroll box is at the bottom of a vertical scroll bar or at right end of a
horizontal scroll bar.
In version 4.0 or later, the maximum value that a scroll bar can report (that
is, the maximum scrolling position) depends on the page size. If the scroll bar
has a page size greater than one, the maximum scrolling position is less than
the maximum range value. You can use the following formula to calculate the
maximum scrolling position:
MaxScrollPos = MaxRangeValue - (PageSize - 1)
An application must move the scroll box in a scroll bar. Although the user
makes a request for scrolling in a scroll bar, the scroll bar does not
automatically update the scroll box position. Instead, it passes the request to the parent
window, which must scroll the data and update the scroll box position. In
version 4.0 or later, an application uses the SetScrollInfo function to update the scroll box position; otherwise, it uses the SetScrollPos function. Because it controls the scroll box movement, the application can
move the scroll box in increments that work best for the data being scrolled.
| 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
|