GetDeviceCaps

機能
デバイスに関する情報を取得する
Declare Function GetDeviceCaps Lib "gdi32.dll" _
(ByVal hdc As Long, ByVal nIndex As Long) As Long
Declare Function GetDeviceCaps Lib "gdi32.dll" _
(ByVal hdc As Integer, ByVal nIndex As Integer) As Integer

int GetDeviceCaps(
HDC hdc,
int nIndex
);
引数
hdc

デバイスコンテキストのハンドル
nIndex
取得する情報の種類を指定する定数の一つ
戻り値
正常終了のとき  要求した機能の値
サンプル
ダウンロード(GetDeviceCaps.lzh 4.11KB)

nIndexの定数

DRIVERVERSION = 0                  デバイスドライバーのバージョン番号
TECHNOLOGY = 2                     デバイス技術を指定する次の定数
             DT_PLOTTER = 0         ベクタプロッタ
             DT_RASDISPLAY = 1      ラスタディスプレイ
             DT_RASPRINTER = 2      ラスタプリンタ
             DT_RASCAMERA = 3       ラスタカメラ
             DT_CHARSTREAME = 4     文字ストリーム
             DT_DISPFILE = 6        ディスプレイファイル
HORZSIZE = 4                       実際のディスプレイの幅(単位:mm)
VERTSIZE = 6                       同、高さ(同上)
HORZRES = 8                        スクリーンの幅(単位:ピクセル)
VERTRES = 10                       同、高さ(同上)
LOGPIXELSX = 88                    横方向の1論理インチあたりのピクセル数
LOGPIXELSY = 90                    縦方向の1論理インチあたりのピクセル数
BITSPIXEL = 12                     ピクセルあたりのビット数
PLANES = 14                        カラープレーン数
NUMBRUSHES = 16                    デバイス固有のブラシ数
NUMPENS = 18                       同、ペンの数
NUMFONTS = 22                      同、マーカー数
NUMCOLORS = 24                     デバイスのカラーテーブル内のエントリ数
ASPECTX = 40                       線の描画に使うデバイスピクセルの相対比
ASPECTY = 42                       同、相対高さ
ASPECTXY = 44                      線の描画に使うデバイスピクセルの対角線の幅
PDEVICESIZE = 26                   (使用不可)
CLIPCAPS = 36                      クリッピング能力(戻り値は以下の定数)
         CP_NONE = 0                出力をクリッピングできない
         CP_RECTANGLE = 1           出力を矩形でクリップできる
         CP_REGION32 = 2            出力を領域にクリップできる
SIZEPALETTE = 104                  システムパレット内のエントリ数
NUMRESERVED = 106                  同、予約エントリ数
COLORRES = 108                     デバイスのカラー解像度(単位:ビット/ピクセル)
PHYSICALWIDTH = 110                物理的幅(単位:ピクセル)
PHYSICALHEIGHT = 111               同、高さ
PHYSICALOFFSETX = 112              実際に印刷可能なX方向のマージン
PHYSICALOFFSETY = 113              同、Y方向マージン
RASTERCAPS = 38                    ラスタ能力(戻り値は以下の定数の組み合わせ)
         RC_BANDING = 2             デバイスのバインディングサポートが必要
         RC_BITBLT = 1              標準ビットマップの転送が可能
         RC_BITMAP64 = 8            64Kを超えるビットマップをサポート
         RC_DI_BITMAP = &H80        メモリ上のDIBをサポート
         RC_DIBTODEV = &H200        SetDIBitsToDevice()関数をサポート
         RC_FLOODFILL = &H1000      FloodFill()関数をサポート
         RC_GDI20_OUTPUT = &H10     Windows2.0出力可能
         RC_PALETTE = &H100         カラーパレットをサポート
         RC_SCALING = 4             デバイスのスケーリングをサポート
         RC_STRETCHBLT = &H800      StrechBlt()関数のサポート
         RC_STRECHDIB = &H2000      StrechDIBits()関数のサポート
CURVECAPS = 28                     デバイスがサポートする曲線描画能力
                                    (戻り値は以下の定数の組み合わせ)
         CC_NONE = 0                曲線をサポートしない
         CC_CHORD = 4               弓形をサポートしている
         CC_CIRCLES = 1             円をサポートしている
         CC_ELIPSES = 8             楕円をサポートしている
         CC_INTERIORS = 128         内部の塗りつぶしをサポートしている
         CC_PIE = 2                 扇形をサポートしている
         CC_ROUNDRECT = 256         角の丸い矩形をサポートする
         CC_STYLED = 32             スタイルを持つ境界線をサポートする
         CC_WIDE = 16               太い境界線をサポートする
         CC_WIDESTYLED = 64         スタイルを持つ太い境界線をサポートする
LINECAPS = 30                      デバイスがサポートする線分描画能力
                                    (戻り値は以下の定数の組み合わせ)
         LC_NONE = 0                線分をサポートしない
         LC_INTERIOS = 128          内部の塗りつぶしをサポートしている
         LC_MARKER = 4              マーカーをサポートしている
         LC_POLYLINE = 2            折れ線をサポートしている
         LC_POLYMARKER = 8          ポリマーカーをサポートしている
         LC_STYLED = 32             スタイルを持つ線分をサポートしている
         LC_WIDE = 16               太い線分をサポートする
         LC_WIDESTYLED = 64         スタイルのある太い線分をサポートする
POLYGONALICAPS = 32                デバイスがサポートする多角形描画能力
                                    (戻り値は以下の定数の組み合わせ)
         PC_NONE = 0                多角形をサポートしていない
         PC_INTERIORS = 128         内部の塗りつぶしをサポートする
         PC_POLYGON = 1             多角形の塗りつぶしをサポートする
         PC_RECTANGLE = 2           矩形をサポートしている
         PC_SCANLINE = 8            スキャンラインをサポートしている
         PC_STYLED = 32             スタイルを持つ境界線をサポート
         PC_WIDE = 16               太い境界線をサポートする
         PC_WIDESTYLE = 64          タイルを持つ太い境界線をサポートする
         PC_WIDEPOLYGON = 4         多角形の塗りつぶしをサポートする
TEXTCAPS = 32                      デバイスがサポートする文字描画能力
                                    (戻り値は以下の定数の組み合わせ)
         TC_OP_CHARACTER = &H1      文字出力精度をサポートする
         TC_OP_STROKE = &H2         ストローク出力精度をサポートする
         TC_CP_STROKE = &H4         ストローククリップ精度をサポートする
         TC_CR_90 = &H8             文字の90度回転をサポートする
         TC_CR_ANY = &H10           文字の任意の回転角度をサポートする
         TC_SF_X_YINDEP = &H20      X,Y両方向のスケーリングをサポートする
         TC_SA_DOUBLE = &H40        倍角文字のスケーリングをサポートする
         TC_SA_INTEGER = &H80       整数倍のスケーリングをサポートしている
         TC_SA_CONTIN = &H100       任意のスケーリングをサポートしている
         TC_EA_DOUBLE = &H200       ボールド体をサポートする
         TC_IA_ABLE = &H400         イタリック体をサポートする
         TC_UA_ABLE = &H800         下線をサポートする
         TC_SO_ABLE = &H1000        取り消し線をサポートする
         TC_RA_ABLE = &H2000        ラスタフォントをサポートする
         TC_VA_ABLE = &H4000        ベクタフォントをサポートする
         TC_RESERVED = &H8000&      (使用不可)
         TC_SCROLLBLT = &H100000    ビットブロック転送してテキストをスクロールする