指定されたグラフィックオブジェクトの情報を取得します。
int GetObjectA( HGDIOBJ hgdiobj, // オブジェクトのハンドル int cbBuffer, // バッファサイズ PVOID pvObject // 情報を格納するバッファ );
GDI32.DLL
グラフィックオブジェクトのハンドルを指定します。指定できるグラフィックオブジェクトの種類は、論理ビットマップ、ブラシ、フォント、パレット、ペン、 CreateDIBSection 関数で作成された DIB (デバイス独立ビットマップ)のいずれかです。
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 以降