Important: |
---|
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist. |
This function retrieves information about the capabilities of a specified device.
int GetDeviceCaps( HDC hdc , int nIndex );
Parameters
Value | Description | ||
---|---|---|---|
DRIVERVERSION | The device driver version. | ||
TECHNOLOGY | Device technology. It can be any one of the following values. | ||
DT_PLOTTER | Vector plotter | ||
DT_RASDISPLAY | Raster display | ||
DT_RASPRINTER | Raster printer | ||
DT_RASCAMERA | Raster camera | ||
DT_CHARSTREAM | Character stream | ||
DT_DISPFILE | Display file | ||
HORZSIZE | Width, in millimeters, of the physical screen. | ||
VERTSIZE | Height, in millimeters, of the physical screen. | ||
HORZRES | Width, in pixels, of the screen. | ||
VERTRES | Height, in raster lines, of the screen. | ||
LOGPIXELSX | Number of pixels per logical inch along the screen width. In a system with multiple display monitors, this value is the same for all monitors. | ||
LOGPIXELSY | Number of pixels per logical inch along the screen height. In a system with multiple display monitors, this value is the same for all monitors. | ||
BITSPIXEL | Number of adjacent color bits for each pixel. | ||
PLANES | Number of color planes. | ||
NUMBRUSHES | Number of device-specific brushes. | ||
NUMPENS | Number of device-specific pens. | ||
NUMFONTS | Number of device-specific fonts. | ||
NUMCOLORS | Number of entries in the device's color table, if the device has a color depth of no more than 8 bits per pixel. For devices with greater color depths, –1 is returned. | ||
ASPECTX | Relative width of a device pixel used for line drawing. | ||
ASPECTY | Relative height of a device pixel used for line drawing. | ||
ASPECTXY | Diagonal width of the device pixel used for line drawing. | ||
PDEVICESIZE | Reserved. | ||
CLIPCAPS | Flag that indicates the clipping capabilities of the device. If the device can clip to a rectangle, it is 1. Otherwise, it is 0. | ||
SIZEPALETTE | Number of entries in the system palette. This index is valid only if the device driver sets the RC_PALETTE bit in the RASTERCAPS index and is available only if the driver is compatible with 16-bit Windows. | ||
NUMRESERVED | Number of reserved entries in the system palette. This index is valid only if the device driver sets the RC_PALETTE bit in the RASTERCAPS index and is available only if the driver is compatible with 16-bit Windows. | ||
COLORRES | Actual color resolution of the device, in bits per pixel. This index is valid only if the device driver sets the RC_PALETTE bit in the RASTERCAPS index and is available only if the driver is compatible with 16-bit Windows. | ||
PHYSICALWIDTH | For printing devices: the width of the
physical page, in device units. For example, a printer set to print
at 600 dpi on 8.5"x11" paper has a physical width value of 5100
device units. Note that the physical page is almost always greater
than the printable area of the page, and never smaller.
Windows CE versions 1.0 and 1.01 do not support this value. |
||
PHYSICALHEIGHT | For printing devices: the height of the
physical page, in device units. For example, a printer set to print
at 600 dpi on 8.5"x11" paper has a physical height value of 6600
device units. Note that the physical page is almost always greater
than the printable area of the page, and never smaller.
Windows CE versions 1.0 and 1.01 do not support this value. |
||
PHYSICALOFFSETX | For printing devices: the distance from
the left edge of the physical page to the left edge of the
printable area, in device units. For example, a printer set to
print at 600 dpi on 8.5"x11" paper, that cannot print on the
leftmost 0.25" of paper, has a horizontal physical offset of 150
device units.
Windows CE versions 1.0 and 1.01 do not support this value. |
||
PHYSICALOFFSETY | For printing devices: the distance from
the top edge of the physical page to the top edge of the printable
area, in device units. For example, a printer set to print at 600
dpi on 8.5"x11" paper, that cannot print on the topmost 0.5" of
paper, has a vertical physical offset of 300 device units.
Windows CE versions 1.0 and 1.01 do not support this value. |
||
RASTERCAPS | Value that indicates the raster capabilities of the device, as shown in the following list: | ||
RC_BANDING | Requires banding support. | ||
RC_BITBLT | Capable of transferring bitmaps. | ||
RC_BITMAP64 | Capable of supporting bitmaps larger than 64K. | ||
RC_DI_BITMAP | Capable of supporting device independent bitmaps. | ||
RC_DIBTODEV | Unsupported. | ||
RC_GDI20_OUTPUT | Capable of supporting features of 16-bit Windows 2.0. | ||
RC_PALETTE | Specifies a palette-based device. | ||
RC_SCALING | Capable of scaling. | ||
RC_STRETCHBLT | Unsupported. | ||
RC_STRETCHDIB | Unsupported | ||
CURVECAPS | Value that indicates the curve capabilities of the device, as shown in the following list: | ||
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. | ||
LINECAPS | Value that indicates the line capabilities of the device, as shown in the following list: | ||
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. | ||
POLYGONALCAPS | Value that indicates the polygon capabilities of the device, as shown in the following list: | ||
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. | ||
TEXTCAPS | Value that indicates the text capabilities of the device, as shown in the following list: | ||
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. |
Return Values
Returns the value of the desired item.
Remarks
The following table shows the six indexes that GetDeviceCapsprovides in place of printer escapes.
Index | Printer escape replaced |
---|---|
PHYSICALWIDTH | GETPHYSPAGESIZE |
PHYSICALHEIGHT | GETPHYSPAGESIZE |
PHYSICALOFFSETX | GETPRINTINGOFFSET |
PHYSICALOFFSETY | GETPHYSICALOFFSET |
SCALINGFACTORX | GETSCALINGFACTOR |
SCALINGFACTORY | GETSCALINGFACTOR |
Windows CE versions 1.0 and 1.01 do not support these indexes.
Requirements
Runs on | Versions | Defined in | Include | Link to |
---|---|---|---|---|
Windows CE OS | 1.0 and later | Wingdi.h | Mgbase.lib |
Note This API is part of the complete Windows CE OS package as provided by Microsoft. The functionality of a particular platform is determined by the original equipment manufacturer (OEM) and some devices may not support this API.
See Also