DrawIconEx

指定したデバイスコンテキストにアイコンまたはカーソルを描画し、指定したラスタ演算を行い、指定どおりにアイコンやカーソルを伸縮する。

DrawIconEx hdc, xLeft, yTop, hIcon, cxWidth, cyWidth, istepIfAniCur, hbrFlickerFreeDraw, diFlags

hdc : [intptr] 型: HDC アイコンまたはカーソルを描画するデバイスコンテキストへのハンドル。
xLeft : [int] 型: int アイコンまたはカーソルの左上隅の論理 x 座標。
yTop : [int] 型: int アイコンまたはカーソルの左上隅の論理 y 座標。
hIcon : [intptr] 型: HICON 描画するアイコンまたはカーソルへのハンドル。このパラメータはアニメーションカーソルを識別できる。
cxWidth : [int] 型: int アイコンまたはカーソルの論理的な幅。このパラメータが 0 で diFlags パラメータが DI_DEFAULTSIZE の場合、関数は SM_CXICON システムメトリック値を使用して幅を設定する。0 で DI_DEFAULTSIZE が使用されていない場合、関数は実際のリソースの幅を使用する。
cyWidth : [int] 型: int アイコンまたはカーソルの論理的な高さ。このパラメータが 0 で diFlags パラメータが DI_DEFAULTSIZE の場合、関数は SM_CYICON システムメトリック値を使用して高さを設定する。0 で DI_DEFAULTSIZE が使用されていない場合、関数は実際のリソースの高さを使用する。
istepIfAniCur : [int] 型: UINT hIcon がアニメーションカーソルを識別する場合に描画するフレームのインデックス。hIcon がアニメーションカーソルを識別しない場合、このパラメータは無視される。
hbrFlickerFreeDraw : [intptr] 型: HBRUSH システムがちらつきのない描画に使用するブラシへのハンドル。hbrFlickerFreeDraw が有効なブラシハンドルである場合、システムは指定されたブラシを背景色としてオフスクリーンビットマップを作成し、そのビットマップにアイコンまたはカーソルを描画し、そのビットマップを hdc で指定されたデバイスコンテキストにコピーする。hbrFlickerFreeDraw が NULL の場合、システムは直接デバイスコンテキストにアイコンまたはカーソルを描画する。
diFlags : [int] 型: UINT

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

解説

指定したデバイスコンテキストにアイコンまたはカーソルを描画し、指定したラスタ演算を行い、指定どおりにアイコンやカーソルを伸縮する。

[戻り値]
型: BOOL 関数が成功した場合、戻り値は 0 以外となる。関数が失敗した場合、戻り値は 0 となる。拡張エラー情報を取得するには
GetLastError を呼ぶ。

[備考]
DrawIconEx 関数はアイコンの左上隅を xLeft および yTop
パラメータで指定された位置に配置する。位置はデバイスコンテキストの現在のマッピングモードに従う。

情報

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