Gdi::GetDeviceCaps_I

This method retrieves information about the capabilities of a specified device.

static WINGDIAPI int WINAPI GetDeviceCaps_I(
  HDC hdc,
  int nIndex
);

Parameters

  • hdc
    [in] Handle to the device context.
  • nIndex
    [in] Integer that specifies the item to return. The following table shows the possible values.
    Value Description
    DRIVERVERSION The device driver version.
    TECHNOLOGY Device technology. The following table shows the possible return values is nIndex is set to TECHNOLOGY.
      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 screens, this value is the same for all screens.
    LOGPIXELSY Number of pixels per logical inch along the screen height. In a system with multiple screens, this value is the same for all screens.
    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 color table for the device, 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 The width of the physical page, in device units, for printing devices. 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.
    PHYSICALHEIGHT The height of the physical page, in device units, for printing devices. 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.
    PHYSICALOFFSETX The distance from the left edge of the physical page to the left edge of the printable area, in device units, for printing devices. 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.
    PHYSICALOFFSETY The distance from the top edge of the physical page to the top edge of the printable area, in device units, for printing devices. 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.
    RASTERCAPS Value that indicates the raster capabilities of the device. The following table shows the possible return values is nIndex is set to RASTERCAPS.
      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. The following table shows the possible return values is nIndex is set to CURVECAPS.
      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. The following table shows the possible return values is nIndex is set to LINECAPS.
      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. The following table shows the possible return values is nIndex is set to POLYGONALCAPS.
      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. The following table shows the possible return values is nIndex is set to TEXTCAPS.
      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 horizontal and vertical 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

    This method is an internal version of the GetDeviceCaps function.

    The following table shows the six indexes that Gdi::GetDeviceCaps_I provides in place of printer escapes.

    Index Printer escape replaced
    PHYSICALWIDTH GETPHYSPAGESIZE
    PHYSICALHEIGHT GETPHYSPAGESIZE
    PHYSICALOFFSETX GETPRINTINGOFFSET
    PHYSICALOFFSETY GETPHYSICALOFFSET
    SCALINGFACTORX GETSCALINGFACTOR
    SCALINGFACTORY GETSCALINGFACTOR

    Requirements

    OS Versions: Windows CE .NET 4.0 and later.
    Header: Gdi.hpp.

    See Also

    GetDeviceCaps | Gdi::GetObjectType_I | Gdi::StretchBlt_I

    Last updated on Wednesday, April 13, 2005

    © 2005 Microsoft Corporation. All rights reserved.