SetPixelFormat

SetPixelFormat 関数は、指定したデバイスコンテキストのピクセル形式を iPixelFormat インデックスで指定された形式に設定する。

SetPixelFormat hdc, format, ppfd

hdc : [intptr] ピクセル形式を設定するデバイスコンテキストを指定する。
format : [int] 設定するピクセル形式を識別するインデックス。デバイスコンテキストでサポートされる様々なピクセル形式は 1 ベースのインデックスで識別される。
ppfd : [var] 論理ピクセル形式の仕様を含む PIXELFORMATDESCRIPTOR 構造体へのポインタ。システムのメタファイルコンポーネントはこの構造体を使用して論理ピクセル形式の仕様を記録する。この構造体は SetPixelFormat 関数の動作に他の影響を与えない。

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

解説

SetPixelFormat 関数は、指定したデバイスコンテキストのピクセル形式を iPixelFormat
インデックスで指定された形式に設定する。

[戻り値]
関数が成功した場合、戻り値は TRUE である。関数が失敗した場合、戻り値は FALSE である。拡張エラー情報を取得するには
GetLastError を呼ぶ。

[備考]
hdc がウィンドウを参照している場合、SetPixelFormat
関数の呼び出しはウィンドウのピクセル形式も変更する。ウィンドウのピクセル形式を複数回設定すると、ウィンドウマネージャやマルチスレッドアプリケーションに大きな複雑さをもたらすため、許可されない。アプリケーションはウィンドウのピクセル形式を一度だけ設定できる。ウィンドウのピクセル形式が設定されたら、変更できない。wglCreateContext
関数を呼び出す前に、デバイスコンテキスト内でピクセル形式を選択するべきである。wglCreateContext
関数は、デバイスコンテキストの選択されたピクセル形式でデバイス上に描画するためのレンダリングコンテキストを作成する。OpenGL
ウィンドウは独自のピクセル形式を持つ。このため、OpenGL
ウィンドウのクライアント領域に対して取得したデバイスコンテキストのみがそのウィンドウに描画できる。その結果、OpenGL ウィンドウは
WS_CLIPCHILDREN および WS_CLIPSIBLINGS スタイルで作成すべきである。さらに、ウィンドウクラスの属性には
CS_PARENTDC スタイルを含めるべきではない。

情報

プラグイン / モジュール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