|
When to Draw in a Window
An application draws in a window at a variety of times: when first creating a
window, when changing the size of the window, when moving the window from
behind another window, when minimizing or maximizing the window, when displaying
data from an opened file, and when scrolling, changing, or selecting a portion of
the displayed data.
Windows manages actions such as moving and sizing a window. If an action
affects the content of the window, Windows marks the affected portion of the window
as ready for updating and, at the next opportunity, sends a WM_PAINT message to the window procedure of the window. The message is a signal to the
application to determine what must be updated and to carry out the necessary
drawing.
Some actions are managed by the application, such as displaying open files and
selecting displayed data. For these actions, an application can mark for
updating the portion of the window affected by the action, causing a WM_PAINT
message to be sent at the next opportunity. If an action requires immediate feedback,
the application can draw while the action takes place, without waiting for
WM_PAINT. For example, a typical application highlights the area the user selects
rather than waiting for the next WM_PAINT message to update the area.
In all cases, an application can draw in a window as soon as it is created. To
draw in the window, the application must first retrieve a handle of a display
DC for the window. Ideally, an application carries out most of its drawing
operations during the processing of WM_PAINT messages. In this case, the
application retrieves a display DC by calling the BeginPaint function. If an application draws at any other time, such as from within WinMain or during processing of keyboard or mouse messages, it calls the GetDC or GetDCEx function to retrieve the display DC.
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
TMS Scripter Studio Pro components for Delphi/C++Builder
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
|