GetDeviceCaps
指定されたデバイスに関するデバイス固有情報を取得します。
int GetDeviceCaps(
HDC hDC,
int nIndex
);
GDI32.DLL
引数
- hDC
デバイスコンテキストのハンドルを指定します。
- nIndex
-
取得する情報の種類を指定します。以下の値のいずれかを指定します。
- 0 (DRIVERVERSION)
- デバイスドライバのバージョン
- 2 (TECHNOLOGY)
- デバイステクノロジー。以下の値のいずれかが返ります。
- 0 (DT_PLOTTER)
- ベクタプロッタ
- 1 (DT_RASDISPLAY)
- ラスタディスプレイ
- 2 (DT_RASPRINTER)
- ラスタプリンタ
- 3 (DT_RASCAMERA)
- ラスタカメラ
- 4 (DT_CHARSTREAM)
- 文字ストリーム
- 5 (DT_METAFILE)
- メタファイル
- 6 (DT_DISPFILE)
- ディスプレイファイル
- 4 (HORZSIZE)
- 物理画面の幅(ミリメートル単位)
- 6 (VERTSIZE)
- 物理画面の高さ(ミリメートル単位)
- 8 (HORZRES)
- 物理画面の幅(ピクセル単位)
- 10 (VERTRES)
- 物理画面の高さ(ピクセル単位)
- 12 (BITSPIXEL)
- それぞれのピクセルに対する色ビット数
- 14 (PLANES)
- カラープレーンの数
- 16 (NUMBRUSHES)
- デバイス固有のブラシの数
- 18 (NUMPENS)
- デバイス固有のペンの数
- 20 (NUMMARKERS)
- デバイス固有のマーカーの数
- 22 (NUMFONTS)
- デバイス固有のフォントの数
- 24 (NUMCOLORS)
- デバイスのカラーテーブルのエントリ数(ピクセルあたり8ビットを超える場合は-1)
- 26 (PDEVICESIZE)
- 予約されています。
- 28 (CURVECAPS)
- デバイスの曲線描画能力。戻り値として次の値の組み合わせの値が返ります。
- 0 (CC_NONE)
- 曲線をサポートしない
- 1 (CC_CIRCLES)
- 円
- 2 (CC_PIE)
- 扇形
- 4 (CC_CHORD)
- 弓形
- 8 (CC_ELLIPSES)
- 楕円
- 16 (CC_WIDE)
- 太い線
- 32 (CC_STYLED)
- スタイル付きの線
- 64 (CC_WIDESTYLED)
- スタイル付きの太い線
- 128 (CC_INTERIORS)
- 内部の塗りつぶしをサポート
- 256 (CC_ROUNDRECT)
- 角の丸い長方形
- 30 (LINECAPS)
- デバイスの直線描画能力。戻り値として次の値の組み合わせの値が返ります。
- 0 (LC_NONE)
- 直線をサポートしない
- 2 (LC_POLYLINE)
- 折れ線
- 4 (LC_MARKER)
- マーカー
- 8 (LC_POLYMARKER)
- ポリマーカー
- 16 (LC_WIDE)
- 太い直線
- 32 (LC_STYLED)
- スタイル付きの直線
- 64 (LC_WIDESTYLED)
- スタイルを持つ太い直線
- 128 (LC_INTERIORS)
- 内部の塗りつぶしをサポート
- 32 (POLYGONALCAPS)
- デバイスの多角形描画能力。戻り値として次の値の組み合わせの値が返ります。
- 0 (PC_NONE)
- 多角形をサポートしない
- 1 (PC_POLYGON)
- 交互モードの塗りつぶし
- 2 (PC_RECTANGLE)
- 長方形
- 4 (PC_WINDPOLYGON, PC_TRAPEZOID)
- 全域モードでの塗りつぶし
- 8 (PC_SCANLINE)
- 単一の走査行の描画
- 16 (PC_WIDE)
- 太い線
- 32 (PC_STYLED)
- スタイル付きの線
- 64 (PC_WIDESTYLED)
- スタイル付きの太い線
- 128 (PC_INTERIORS)
- 内部の塗りつぶしをサポート
- 256 (PC_POLYPOLYGON)
- ポリポリゴン
- 512 (PC_PATHS)
- パス
- 34 (TEXTCAPS)
- デバイスのテキスト表示能力。戻り値として次の値の組み合わせの値が返ります。
- 0x00000001 (TC_OP_CHARACTER)
- 文字の出力精度
- 0x00000002 (TC_OP_STROKE)
- ストロークの出力精度
- 0x00000004 (TC_CP_STROKE)
- ストローククリップの精度
- 0x00000008 (TC_CR_90)
- 文字の90度回転
- 0x00000010 (TC_CR_ANY)
- 文字の任意の角度の回転
- 0x00000020 (TC_SF_X_YINDEP)
- x方向とy方向の両方の独立したスケーリング
- 0x00000040 (TC_SA_DOUBLE)
- 文字の2倍のスケーリング
- 0x00000080 (TC_SA_INTEGER)
- 文字の整数倍のスケーリング
- 0x00000100 (TC_SA_CONTIN)
- 文字の任意の倍率のスケーリング
- 0x00000200 (TC_EA_DOUBLE)
- 太字
- 0x00000400 (TC_IA_ABLE)
- イタリック体
- 0x00000800 (TC_UA_ABLE)
- 下線
- 0x00001000 (TC_SO_ABLE)
- 取り消し線
- 0x00002000 (TC_RA_ABLE)
- ラスタフォント
- 0x00004000 (TC_VA_ABLE)
- ベクトルフォント
- 0x00008000 (TC_RESERVED)
- 予約済み
- 0x00010000 (TC_SCROLLBLT)
- ビットブロック転送によるスクロールをサポートしない
- 36 (CLIPCAPS)
- デバイスのクリッピング能力。戻り値として、長方形のクリップをサポートする場合は1が、それ以外の場合は0が返ります。
- 38 (RASTERCAPS)
- デバイスのラスタ能力。戻り値として次の値の組み合わせの値が返ります。
- 1 (RC_BITBLT)
- ビットマップの転送
- 2 (RC_BANDING)
- バンド処理のサポートが必要
- 4 (RC_SCALING)
- スケーリング
- 8 (RC_BITMAP64)
- 64KBより大きいビットマップ
- 0x0080 (RC_DI_BITMAP)
- SetDIBits関数とGetDIBits関数
- 0x0100 (RC_PALETTE)
- デバイスはパレットベースのデバイスである
- 0x0200 (RC_DIBTODEV)
- SetDIBitsToDevice関数
- 0x0800 (RC_STRETCHBLT)
- StretchBlt関数
- 0x1000 (RC_FLOODFILL)
- 塗りつぶし
- 0x2000 (RC_STRETCHDIB)
- StretchDIBits関数
- 40 (ASPECTX)
- 線の描画に使うデバイスピクセルの相対の幅
- 42 (ASPECTY)
- 線の描画に使うデバイスピクセルの相対の高さ
- 44 (ASPECTXY)
- 線の描画に使うデバイスピクセルの対角線の長さ
- 45 (SHADEBLENDCAPS)
- Windows 98/2000 以降: デバイスのシェードとブレンドの能力を示す値
- 88 (LOGPIXELSX)
- 論理インチ当たりの画面の水平方向のピクセル数
- 90 (LOGPIXELSY)
- 論理インチ当たりの画面の垂直方向のピクセル数
- 104 (SIZEPALETTE)
- システムパレット内のエントリ数
- 106 (NUMRESERVED)
- システムパレット内の予約エントリ数
- 108 (COLORRES)
- デバイスの実際のカラー解像度を表す、ピクセル当たりのビット数
- 110 (PHYSICALWIDTH)
- 物理的なページ全体の幅(デバイス単位)(印刷デバイス用)
- 111 (PHYSICALHEIGHT)
- 物理的なページ全体の高さ(デバイス単位)(印刷デバイス用)
- 112 (PHYSICALOFFSETX)
- 物理的なページの左辺・上辺から印刷可能領域の左辺までの距離(デバイス単位)(印刷デバイス用)
- 113 (PHYSICALOFFSETY)
- 物理的なページの左辺・上辺から印刷可能領域の上辺までの距離(デバイス単位)(印刷デバイス用)
- 114 (SCALINGFACTORX)
- x軸のスケーリングファクター
- 115 (SCALINGFACTORY)
- y軸のスケーリングファクター
- 116 (VREFRESH)
- Windows NT/2000/XP のみ: 現在のディスプレイ出力の垂直周波数 (Hz)。0または1はディスプレイのデフォルト周波数を示します。
- 117 (DESKTOPVERTRES)
- Windows NT/2000/XP のみ: 仮想デスクトップ全体の高さ(ピクセル単位)
- 118 (DESKTOPHORZRES)
- Windows NT/2000/XP のみ: 仮想デスクトップ全体の幅(ピクセル単位)
- 119 (BLTALIGNMENT)
- Windows NT/2000/XP のみ: デバイスに適した水平方向のアラインメント。適したアラインメントが特にないときは0。
- 120 (SHADEBLENDCAPS)
- Windows 98/Me/2000/XP のみ: デバイスのシェードおよびブレンド能力を示す値。戻り値として次の値の組み合わせの値が返ります。
- 0x00000000 (SB_NONE)
- デバイスはこれらの機能をサポートしていません。
- 0x00000001 (SB_CONST_ALPHA)
- BLENDFUNCTION構造体のSourceConstantAlphaメンバを使います。この値はAlphaBlend関数のblendFunctionパラメータで説明されています。
- 0x00000002 (SB_PIXEL_ALPHA)
- 0x00000004 (SB_PREMULT_ALPHA)
- 0x00000010 (SB_GRAD_RECT)
- 0x00000020 (SB_GRAD_TRI)
- 121 (COLORMGMTCAPS)
- Windows NT/2000/XP のみ: デバイスの色管理能力を示す値。戻り値として次の値の組み合わせの値が返ります。
- 0x00000000 (CM_NONE)
- デバイスはICMをサポートしていません。
- 0x00000001 (CM_DEVICE_ICM)
- 0x00000002 (CM_GAMMA_RAMP)
- 0x00000004 (CM_CMYK_COLOR)
戻り値
取得された情報が返ります。
nIndexパラメータに12 (BITSPIXEL) を指定していて、デバイスが15bppまたは16bppであるときには、戻り値は16になります。
対応情報
Windows 95 以降 / Windows NT 3.1 以降