|
Scrolling the Client Area
The simplest way to scroll the content of a client area is to erase and then
redraw it. This is the method an application is likely to use with SB_PAGEUP,
SB_PAGEDOWN, and SB_TOP notification messages, which typically require completely
new content.
For some notification messages, such as SB_LINEUP and SB_LINEDOWN, not all the
content need be erased, because some remains visible after scrolling occurs.
The ScrollWindowEx function preserves a portion of the client area's content, move the preserved
portion a specified amount, and then prepares the rest of the client area for
painting new information. ScrollWindowEx uses the BitBlt function to move a specific part of the data object to a new location within
the client area. Any uncovered part of the client area (anything not preserved)
is invalidated, erased, and painted when the next WM_PAINT message occurs.
The ScrollWindowEx function can be used to exclude a portion of the client area from the
scrolling operation. This keeps items with fixed positions, such as child windows,
from moving within the client area. It automatically invalidates the portion of
the client area that is to receive the new information, so the application does
not have to compute its own clipping regions. For more information on clipping,
see Clipping.
Usually an application scrolls the content of a window in the direction
opposite that indicated by the scroll bar. For example, when the user clicks the
shaft in the area below the scroll box, an application scrolls the object in the
window upward to reveal a portion of the object that is below the visible
portion.
Related Links
Software for Delphi and C++ Builder developers
Software for Visual Studio .NET developers
Software for Visual Basic 6 developers
Delphi Tips&Tricks
MegaDetailed.NET
More Online Helps
Win32 Multimedia Programmer's Reference (mmedia.hlp)
OLE Programmer's Reference (ole.hlp)
Microsoft Windows Pen API Programmer's Reference (penapi.hlp)
Microsoft Windows Sockets 2 Reference (sock2.hlp)
Microsoft Windows Telephony API (TAPI) Programmer's Reference (tapi.hlp)
Unix Manual Pages
|