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.