SetWindowSubclass 関数 (commctrl.h)
ウィンドウ サブクラス コールバックをインストールまたは更新します。
構文
BOOL SetWindowSubclass(
[in] HWND hWnd,
[in] SUBCLASSPROC pfnSubclass,
[in] UINT_PTR uIdSubclass,
[in] DWORD_PTR dwRefData
);
パラメーター
[in] hWnd
型: HWND
サブクラス化されるウィンドウのハンドル。
[in] pfnSubclass
型: サブクラスPROC
ウィンドウ プロシージャへのポインター。 このポインターとサブクラス ID は、このサブクラス コールバックを一意に識別します。 コールバック関数のプロトタイプについては、 サブクラスPROC に関するページを参照してください。
[in] uIdSubclass
種類: UINT_PTR
サブクラス ID。 この ID はサブクラス プロシージャと共にサブクラスを一意に識別します。 サブクラスを削除するには、サブクラス プロシージャとこの値を RemoveWindowSubclass 関数に渡します。 この値は、uIdSubclass パラメーターのサブクラス プロシージャに渡されます。
[in] dwRefData
種類: DWORD_PTR
データを参照するDWORD_PTR。 この値の意味は、呼び出し元のアプリケーションによって決まります。 この値は、dwRefData パラメーターのサブクラス プロシージャに渡されます。 異なる dwRefData は、ウィンドウ ハンドル、サブクラス プロシージャ、および uIdSubclass の各組み合わせに関連付けられます。
戻り値
種類: BOOL
サブクラス コールバックが正常にインストールされた場合は TRUE。それ以外の場合は FALSE。
注釈
サブクラス コールバックは、コールバック アドレスと呼び出し元で定義されたサブクラス ID の組み合わせによって識別されます。 コールバック アドレスと ID のペアがまだインストールされていない場合、この関数はサブクラスをインストールします。 ペアが既にインストールされている場合、この関数は参照データを更新するだけです。
各コールバックは、メッセージをフィルター処理するために呼び出されたときにコールバック関数に渡される参照データの単一の DWORD_PTR を格納できます。 コールバックの参照カウントは実行されません。 SetWindowSubclass を繰り返し呼び出して、参照データ要素の値を変更できます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | commctrl.h |
Library | Comctl32.lib |
[DLL] | Comctl32.dll (バージョン 5.8 以降) |
API セット | ext-ms-win-shell-comctl32-window-l1-1-0 (Windows 10 バージョン 10.0.14393 で導入) |