This method gets the capabilities of the screen device context (DC).
HRESULT GetDeviceCaps( long index, long *plDeviceCap );
Value |
Description |
| RC_BANDING | Device requires banding support. |
| RC_BITBLT | Device is capable of transferring bitmaps. |
| RC_BITMAP64 | Device is capable of supporting bitmaps larger than 64K. |
| RC_DI_BITMAP | Device is capable of supporting the SetDIBits and GetDIBits functions. |
| RC_DIBTODEV | Device is capable of supporting the SetDIBitsToDevice function. |
| RC_FLOODFILL | Device is capable of performing flood fills. |
| RC_GDI20_OUTPUT | Device is capable of supporting features of Windows 3.1 or earlier. |
| RC_PALETTE | Device is palette-based. |
| RC_SCALING | Device is capable of scaling. |
| RC_STRETCHBLT | Device is capable of performing the StretchBlt function. |
| RC_STRETCHDIB | Device is capable of performing the StretchDIBits function. |
Value |
Description |
| CC_NONE | Device does not support curves. |
| CC_CHORD | Device can draw chord arcs. |
| CC_CIRCLES | Device can draw circles. |
| CC_ELLIPSES | Device can draw ellipses. |
| CC_INTERIORS | Device can draw interiors. |
| CC_PIE | Device can draw pie wedges. |
| CC_ROUNDRECT | Device can draw rounded rectangles. |
| CC_STYLED | Device can draw styled borders. |
| CC_WIDE | Device can draw wide borders. |
| CC_WIDESTYLED | Device can draw borders that are wide and styled. |
Value |
Description |
| LC_NONE | Device does not support lines. |
| LC_INTERIORS | Device can draw interiors. |
| LC_MARKER | Device can draw a marker. |
| LC_POLYLINE | Device can draw a polyline. |
| LC_POLYMARKER | Device can draw multiple markers. |
| LC_STYLED | Device can draw styled lines. |
| LC_WIDE | Device can draw wide lines. |
| LC_WIDESTYLED | Device can draw lines that are wide and styled. |
Value |
Description |
| PC_NONE | Device does not support polygons. |
| PC_INTERIORS | Device can draw interiors. |
| PC_POLYGON | Device can draw alternate-fill polygons. |
| PC_RECTANGLE | Device can draw rectangles. |
| PC_SCANLINE | Device can draw a single scanline. |
| PC_STYLED | Device can draw styled borders. |
| PC_WIDE | Device can draw wide borders. |
| PC_WIDESTYLED | Device can draw borders that are wide and styled. |
| PC_WINDPOLYGON | Device can draw winding-fill polygons. |
Value |
Description |
| TC_OP_CHARACTER | Device is capable of character output precision. |
| TC_OP_STROKE | Device is capable of stroke output precision. |
| TC_CP_STROKE | Device is capable of stroke clip precision. |
| TC_CR_90 | Device is capable of 90-degree character rotation. |
| TC_CR_ANY | Device is capable of any character rotation. |
| TC_SF_X_YINDEP | Device can scale independently in the x- and y-directions. |
| TC_SA_DOUBLE | Device is capable of doubled character for scaling. |
| TC_SA_INTEGER | Device uses integer multiples only for character scaling. |
| TC_SA_CONTIN | Device uses any multiples for exact character scaling. |
| TC_EA_DOUBLE | Device can draw double-weight characters. |
| TC_IA_ABLE | Device can italicize. |
| TC_UA_ABLE | Device can underline. |
| TC_SO_ABLE | Device can draw strikeouts. |
| TC_RA_ABLE | Device can draw raster fonts. |
| TC_VA_ABLE | Device can draw vector fonts. |
| TC_RESERVED | Reserved; must be zero. |
| TC_SCROLLBLT | Device cannot scroll using a bit-block transfer. Note that this meaning may be the opposite of what you expect. |
NOERROR indicates success. If an error occurs, the appropriate HRESULT value is returned.