ウィンドウ クラス (Windows とメッセージ)

このトピックでは、ウィンドウ クラスの種類、システムによるウィンドウ クラスの検索方法、およびそれらに属するウィンドウの既定の動作を定義する要素について説明します。

ウィンドウ クラスは、システムがウィンドウを作成するためにテンプレートとして使用する属性のセットです。 すべてのウィンドウは、ウィンドウ クラスのメンバーです。 すべてのウィンドウ クラスはプロセス固有です。

このセクションの内容

名前 説明
ウィンドウ クラスについて ウィンドウ クラスについて説明します。 各ウィンドウ クラスには、同じクラスのすべてのウィンドウで共有される関連付けられたウィンドウ プロシージャがあります。 ウィンドウ プロシージャは、そのクラスのすべてのウィンドウのメッセージを処理するため、動作と外観を制御します。
ウィンドウ クラスの使用 ローカル ウィンドウを登録し、それを使用してメイン ウィンドウを作成する方法を示します。
Window クラス リファレンス API リファレンスを収録しています。

 

Window クラス関数

名前 説明
GetClassInfoEx ウィンドウ クラスに関連付けられている小さなアイコンへのハンドルを含む、ウィンドウ クラスに関する情報を取得します。 GetClassInfo 関数は、小さなアイコンへのハンドルを取得しません。
GetClassLong 指定したウィンドウに関連付けられている WNDCLASSEX 構造体から、指定した 32 ビット (long) の値を取得します。
GetClassLongPtr 指定したウィンドウに関連付けられている WNDCLASSEX 構造体から、指定した値を取得します。
GetClassName 指定したウィンドウが属するクラスの名前を取得します。
GetWindowLong 指定したウィンドウに関する情報を取得します。 また、 関数は、指定したオフセットにある 32 ビット (long) の値を追加のウィンドウ メモリに取得します。
GetWindowLongPtr 指定したウィンドウに関する情報を取得します。 関数は、指定されたオフセットの値を余分なウィンドウ メモリに取得します。
RegisterClass CreateWindow 関数または CreateWindowEx 関数の呼び出しで後続の使用のためにウィンドウ クラス登録します。
RegisterClassEx CreateWindow 関数または CreateWindowEx 関数の呼び出しで後続の使用のためにウィンドウ クラス登録します。
SetClassLongPtr 指定したウィンドウが属するクラスの、余分なクラス メモリまたは WNDCLASSEX 構造体内の指定したオフセットにある指定した値を置き換えます。
SetClassWord 指定したオフセットの 16 ビット (WORD) 値を、指定したウィンドウが属するウィンドウ クラスの追加のクラス メモリに置き換えます。
SetWindowLong 指定したウィンドウの属性を変更します。 また、 関数は、指定したオフセットの 32 ビット (long) 値を追加のウィンドウ メモリに設定します。
SetWindowLongPtr 指定したウィンドウの属性を変更します。 関数は、余分なウィンドウ メモリ内の指定されたオフセットに値を設定します。
UnregisterClass ウィンドウ クラスの登録を解除し、 クラスに必要なメモリを解放します。

 

以下の関数は互換性のために残されています。

名前 説明
GetClassInfo ウィンドウ クラスに関する情報を取得します。
メモ:GetClassInfo 関数は、GetClassInfoEx 関数に置き換わりました。 ただし、クラスの小さいアイコンに関する情報が必要ない場合は、 GetClassInfo を引き続き使用できます。
GetClassWord 指定したオフセットにある 16 ビット (WORD) の値を、指定したウィンドウが属するウィンドウ クラスの追加のクラス メモリに取得します。 メモ: この関数は、 nIndex が GCW_ATOM に設定されていない場合は非推奨です。 関数は、16 ビット バージョンの Windows との互換性のためにのみ提供されます。 アプリケーションでは GetClassLong 関数を使用する必要があります。
SetClassLong 指定したオフセットの指定した 32 ビット (long) 値を、指定したウィンドウが属するクラスの追加のクラス メモリまたは WNDCLASSEX 構造体に置き換えます。 メモ: この関数は SetClassLongPtr 関数に置き換わりました。 32 ビットバージョンと 64 ビットバージョンの両方の Windows と互換性のあるコードを記述するには、 SetClassLongPtr を使用します

 

Window クラスの構造体

名前 説明
WNDCLASS RegisterClass 関数によって登録されるウィンドウ クラス属性を格納します。
この構造体は、RegisterClassEx 関数で使用される WNDCLASSEX 構造体に置き換わりました。 ウィンドウ クラスに関連付けられている小さなアイコンを設定する必要がない場合は、 WNDCLASSRegisterClass を引き続き使用できます。
WNDCLASSEX ウィンドウ クラス情報が含まれます。 RegisterClassEx 関数と GetClassInfoEx 関数で使用されます。
WNDCLASSEX 構造体は、WNDCLASS 構造体に似ています。 2 つの違いがあります。 WNDCLASSEX には、構造体のサイズを指定する cbSize メンバーと、ウィンドウ クラスに関連付けられている小さなアイコンへのハンドルを含む hIconSm メンバーが含まれます。