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.
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database