|
Overview |
|
|
|
Group |
|
|
|
Quick Info
Windows NT
| Yes
| Win95
| Yes
| Win32s
| Yes
| Import Library
| gdi32.lib
| Header File
| wingdi.h
| Unicode
| No
| Platform Notes
| Windows 95: int == 16 bits
|
|
|
GetDeviceCaps
The GetDeviceCaps function retrieves device-specific information about a specified device.
int GetDeviceCaps(
HDC hdc,
| // device-context handle
| int nIndex
| // index of capability to query
| );
|
|
Parameters
hdc
Identifies the device context.
nIndex
Specifies the item to return. This parameter can be one of the following
values:
Index
| Meaning
| DRIVERVERSION
| The device driver version.
| TECHNOLOGY
| Device technology. It can be any one of the following values:
|
Value
| Meaning
| DT_PLOTTER
| Vector plotter
| DT_RASDISPLAY
| Raster display
| DT_RASPRINTER
| Raster printer
| DT_RASCAMERA
| Raster camera
| DT_CHARSTREAM
| Character stream
| DT_METAFILE
| Metafile
| DT_DISPFILE
| Display file
|
| If the hdc parameter identifies the device context of an enhanced metafile, the device
technology is that of the referenced device as given to the CreateEnhMetaFile function. To determine whether it is an enhanced metafile device context, use
the GetObjectType function.
| 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.
| LOGPIXELSY
| Number of pixels per logical inch along the screen height.
| 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 Windows version 3.0 or later.
| 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 Windows version 3.0 or later.
| 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 Windows version 3.0 or later.
| 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.
| 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.
| 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.
| 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.
| VREFRESH
| Windows NT only: For display devices: the current vertical refresh rate of the device, in
cycles per second (Hz).
A vertical refresh rate value of 0 or 1 represents the display hardware's
default refresh rate. This default rate is typically set by switches on a display
card or computer motherboard, or by a configuration program that does not use
Win32 display functions such as ChangeDisplaySettings.
| DESKTOPHORZRES
| Windows NT only: Width, in pixels, of the virtual desktop. This value may be larger than
HORZRES if the device supports a virtual desktop or multiple displays.
| DESKTOPVERTRES
| Windows NT only: Height, in pixels, of the virtual desktop. This value may be larger than
VERTRES if the device supports a virtual desktop or multiple displays.
| BLTALIGNMENT
| Windows NT only: Preferred horizontal drawing alignment, expressed as a multiple of pixels. For
best drawing performance, windows should be horizontally aligned to a multiple
of this value. A value of zero indicates that the device is accelerated, and
any alignment may be used.
| RASTERCAPS
| Value that indicates the raster capabilities of the device, as shown in the
following table:
|
Capability
| Meaning
| 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 the SetDIBits and GetDIBits functions.
| RC_DIBTODEV
| Capable of supporting the SetDIBitsToDevice function.
| RC_FLOODFILL
| Capable of performing flood fills.
| RC_GDI20_OUTPUT
| Capable of supporting features of Windows 2.0.
| RC_PALETTE
| Specifies a palette-based device.
| RC_SCALING
| Capable of scaling.
| RC_STRETCHBLT
| Capable of performing the StretchBlt function.
| RC_STRETCHDIB
| Capable of performing the StretchDIBits function.
|
CURVECAPS
| Value that indicates the curve capabilities of the device, as shown in the
following table:
|
Value
| Meaning
| CC_NONE
| Device does not support curves.
| CC_CIRCLES
| Device can draw circles.
| CC_PIE
| Device can draw pie wedges.
| CC_CHORD
| Device can draw chord arcs.
| CC_ELLIPSES
| Device can draw ellipses.
| CC_WIDE
| Device can draw wide borders.
| CC_STYLED
| Device can draw styled borders.
| CC_WIDESTYLED
| Device can draw borders that are wide and styled.
| CC_INTERIORS
| Device can draw interiors.
| CC_ROUNDRECT
| Device can draw rounded rectangles.
|
LINECAPS
| Value that indicates the line capabilities of the device, as shown in the
following table:
|
Value
| Meaning
| LC_NONE
| Device does not support lines.
| LC_POLYLINE
| Device can draw a polyline.
| LC_MARKER
| Device can draw a marker.
| LC_POLYMARKER
| Device can draw multiple markers.
| LC_WIDE
| Device can draw wide lines.
| LC_STYLED
| Device can draw styled lines.
| LC_WIDESTYLED
| Device can draw lines that are wide and styled.
| LC_INTERIORS
| Device can draw interiors.
|
POLYGONALCAPS
| Value that indicates the polygon capabilities of the device, as shown in the
following table:
|
Value
| Meaning
| PC_NONE
| Device does not support polygons.
| PC_POLYGON
| Device can draw alternate-fill polygons.
| PC_RECTANGLE
| Device can draw rectangles.
| PC_WINDPOLYGON
| Device can draw winding-fill polygons.
| PC_SCANLINE
| Device can draw a single scanline.
| PC_WIDE
| Device can draw wide borders.
| PC_STYLED
| Device can draw styled borders.
| PC_WIDESTYLED
| Device can draw borders that are wide and styled.
| PC_INTERIORS
| Device can draw interiors.
|
TEXTCAPS
| Value that indicates the text capabilities of the device, as shown in the
following table:
|
Bit
| Meaning
| 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
The return value specifies the value of the desired item.
See Also
CreateEnhMetaFile, CreateIC, DeviceCapabilities, GetDIBits, GetObjectType, SetDIBits, SetDIBitsToDevice, StretchBlt, StretchDIBits
| Last news from Greatis Software |
 |
|
Nostalgia .Net |
|
.Net is powerful, but not all-powerful, so sometimes we need to use Win32 API for our .Net applications. It's simple enough with Platform Invoke if you have Win32 skill, but we do not always have time to dig the ancient documentation, declare the special types that are compatible with Win32, find the values of the Win32's constants and so on. Nostalgia .Net offers several simple-to-use classes, and components that will allow you to forget about the headache of Win32 and just use the power of Win32 in your application the same way as you use the native. Net classes. More » |
| Recommended software for developers |
 |
|
Ultimate Pack |
|
Component pack for Delphi and C++ Builder that contains runtime form designer, runtime object inspector, print suite and much more for the very special price. More » |
 |
|
Form Designer .Net |
|
Unique runtime form design solution that allows to edit any form in .Net WinForms application at runtime with full source codes for only 300 euro! More » |
 |
|
Print Suite .Net |
|
Print Suite .Net is a set of components for easy printing texts, images and grids from your WinForms applications. Full C# source codes are available More » |
 |
|
Gradient Controls .Net |
|
Gradient Controls .Net offers controls with gradient background feature. Labels, panels and so on... Full C# source codes are available More » |
 |
|
Greatis iGrid |
|
iGrid plots drawing grid right over your desktop, so you can use it everywhere, with any drawing application without any special plugins for different graphic editors. More » |
All the contacts and projectsDmitry Vasiliev (just.dmitry)
Related LinksSoftware for Visual Studio .NET developers Software for Delphi and C++ Builder developers Software for Visual Basic 6 developers Delphi Tips&Tricks MegaDetailed.NET More Online Helps Win32 Programmer's Reference Win32 Multimedia Programmer's Reference OLE Programmer's Reference Microsoft Windows Pen API Programmer's Reference Microsoft Windows Sockets 2 Reference Microsoft Windows Telephony API (TAPI) Programmer's Reference Unix Manual Pages
|