Class Display Device Contexts
By using a
class DC, an application can use a single display DC for every window belonging to a
given class. Class DCs are often used with control windows that are drawn using
the same attribute values. Like private DCs, class DCs minimize the time
required to prepare a DC for drawing.
Windows supplies a class DC for a window if it belongs to a window class
having the CS_CLASSDC style. Windows creates the DC when creating the first window
belonging to the class and then uses the same DC for all subsequently created
windows in the class. Initially, the class DC has the same default values for
attributes as a common DC, but the application can modify these at any time.
Windows preserves all changes, except for the clipping region and device origin,
until the last window in the class has been destroyed. A change made for one
window applies to all windows in that class.
An application can retrieve the handle for the class DC by using the
GetDC function any time after the first window has been created. The application
can keep and use the handle without releasing it because the class DC is not part
of the display DC cache. If the application creates another window in the same
window class, the application must retrieve the class DC again. Retrieving the
DC sets the correct device origin and clipping region for the new window.
After the application retrieves the class DC for a new window in the class, the DC
can no longer be used to draw in the original window without again retrieving
it for that window. In general, each time it must draw in a window, an
application must explicitly retrieve the class DC for the window.
Applications that use class DCs should always call
BeginPaint when processing a
WM_PAINT message. The function sets the correct device origin and clipping region for
the window, and incorporates the update region. The application should also
call
EndPaint to restore the caret if
BeginPaint hid it.
EndPaint has no other effect on a class DC.
Windows passes the class DC when sending the
WM_ERASEBKGND message to the application, permitting the current attribute values to affect
any drawing carried out by the application or Windows when processing this
message. Windows supplies a window DC with the
WM_ICONERASEBKGND message regardless of whether the corresponding window has a class DC. As it
could with a window having a private DC, an application can use
GetDCEx to force Windows to return a common DC for the window that has a class DC.
Using class DCs is not recommended.
- 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