GetObjectW

GetObjectW (Unicode) 関数 (wingdi.h) は、指定グラフィックオブジェクトに関する情報を取得する。

GetObjectW h, c, pv

h : [intptr] 
c : [int] 
pv : [intptr] 

(プラグイン / モジュール : gdi32.dll)

解説

GetObjectW (Unicode) 関数 (wingdi.h) は、指定グラフィックオブジェクトに関する情報を取得する。

[戻り値]
関数が成功し lpvObject が有効なポインタの場合、戻り値はバッファに格納されたバイト数である。関数が成功し lpvObject が
NULL の場合、戻り値はバッファに格納するのに必要なバイト数である。失敗した場合は 0 である。

[備考]
lpvObject
が指すバッファは、グラフィックオブジェクトの情報を受け取るのに十分な大きさでなければならない。グラフィックオブジェクトによっては、関数は
BITMAP、DIBSECTION、EXTLOGPEN、LOGBRUSH、LOGFONT、LOGPEN
構造体、または論理パレットのテーブルエントリ数を使用する。hgdiobj が CreateDIBSection の呼び出しで作成された
HBITMAP のハンドルで、指定バッファが十分な大きさを持つ場合、GetObject 関数は DIBSECTION 構造体を返す。さらに
DIBSECTION 内の BITMAP 構造体の bmBits メンバには、ビットマップのビット値へのポインタが含まれる。hgdiobj
がその他の方法で作成された HBITMAP のハンドルの場合、GetObject
はビットマップの幅、高さ、カラーフォーマットの情報のみを返す。ビットマップのビット値を取得するには GetDIBits または
GetBitmapBits 関数を呼び出す。hgdiobj が論理パレットのハンドルの場合、GetObject
はパレット内のエントリ数を示す 2 バイト整数を取得する。パレットを定義する LOGPALETTE
構造体は取得しない。パレットエントリに関する情報を取得するには GetPaletteEntries 関数を呼び出す。hgdiobj が
HFONT のハンドルの場合、返される LOGFONT はフォント作成に使われた LOGFONT である。Windows が正確な
LOGFONT を表現できず補間を行った場合、その補間は LOGFONT
に反映されない。例えば、縦書き描画をサポートしないフォントの縦書き版を要求すると、LOGFONT
ではフォントが縦書きであると示されるが、Windows は横書きで描画する。

情報

プラグイン / モジュールgdi32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の gdi32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_gdi32_gen2.hs