取得装置内容资讯
一个装置内容通常是指一个实际显示设备,如视讯显示器和印表机。通常,您需要取得有关该设备的资讯,包括显示器的大小(单位为图素或者实际长度单位)和色彩显示能力。您可以通过呼叫 GetDeviceCaps(「取得设备功能」)函式来取得这些资讯:
iValue = GetDeviceCaps (hdc, iIndex) ;
其中,参数 iIndex 取值为 WINGDI.H 表头档案中定义的 29 个识别字之一。例如,iIndex 为 HORZRES 时将使 GetDeviceCaps 传回设备的宽度(单位为图素);iIndex 为 VERTRES 时将让 GetDeviceCaps 传回设备的高度(单位为图素)。
还可以使用 GetDeviceCaps 来确定设备处理不同型态图形的能力,这对於视讯显示器并不很重要,但是对於列印设备却是非常重要。
DEVCAPS1 程式显示了以一个视讯显示器的装置内容为参数时,可以从GetDeviceCaps 函式中获得的部分资讯。
#include <windows.h>
#define NUMLINES ((int) (sizeof devcaps / sizeof devcaps [0]))
struct
{
int iIndex;
TCHAR* szLabel;
TCHAR* szDesc;
}
devcaps [] =
{
HORZSIZE, TEXT("HORZSIZE"),TEXT("Width in millimeters:"),
VERTSIZE, TEXT("VERTSIZE"),TEXT("Height in millimeters:"),
HORZRES, TEXT("HORZRES"),TEXT("Width in pixels:"),
VERTRES, TEXT("VERTRES"),TEXT("Height in raster lines:"),
BITSPIXEL, TEXT("BITSPIXEL"),TEXT("Color bits per pixel:"),
PLANES, TEXT("PLANES"), TEXT("Number of color planes:"),
NUMBRUSHES, TEXT("NUMBRUSHES"), TEXT("Number of device brushes:"),
NUMPENS, TEXT("NUMPENS"), TEXT("Number of device pens:"),
NUMMARKERS, TEXT