GetObject(A)

指定されたグラフィックオブジェクトの情報を取得します。

int GetObjectA(
    HGDIOBJ hgdiobj,  // オブジェクトのハンドル
    int     cbBuffer, // バッファサイズ
    PVOID   pvObject  // 情報を格納するバッファ
);

GDI32.DLL

引数

hgdiobj

グラフィックオブジェクトのハンドルを指定します。指定できるグラフィックオブジェクトの種類は、論理ビットマップ、ブラシ、フォント、パレット、ペン、 CreateDIBSection 関数で作成された DIB (デバイス独立ビットマップ)のいずれかです。

cbBuffer

pvObject パラメータで示されるバッファのサイズを指定します。

pvObject

オブジェクト情報を格納するバッファのアドレスを指定します。

0 (NULL) を指定すると、戻り値として情報を格納するために必要なバッファのサイズが返ります。

オブジェクトの種類と、バッファが受け取るデータ型(構造体)との対応を次に示します。バッファは対応する構造体のサイズと同じだけ確保されていなくてはなりません。

オブジェクトの種類 (ハンドルの型) 構造体 構造体サイズ
ビットマップ (HBITMAP 型) BITMAP 構造体 24
CreateDIBSection 関数で作成された DIB (HBITMAP 型) DIBSECTION 構造体
cbBuffer = 84 のとき)
BITMAP 構造体
(cbBuffer = 24 のとき)
84 (DIBSECTION),
24 (BITMAP)
パレット (HPALETTE 型) WORD 型 (論理パレットのエントリ数が格納されます) 2
ペン (HPEN 型) LOGPEN 構造体 16
ExtCreatePen 関数で作成されたペン (HPEN 型) EXTLOGPEN 構造体 28
ブラシ (HBRUSH 型) LOGBRUSH 構造体 12
フォント (HFONT 型) LOGFONT 構造体 60

戻り値

関数が成功し、かつ、 lpvObject パラメータに有効なバッファのポインタを指定した場合は、バッファに格納した情報のバイト数が返ります。

関数が成功し、かつ、 lpvObject パラメータに 0 (NULL) を指定した場合は、情報を格納するために必要なバッファのバイト単位のサイズが返ります。

失敗すると 0 が返ります。

Windows NT/2000/XP: 拡張エラー情報を取得するには、 GetLastError 関数を使います。

対応情報

Windows 95 以降 / Windows NT 3.1 以降