RegisterClassA 関数 (winuser.h)
CreateWindow 関数または CreateWindowEx 関数の呼び出しで後続の使用のためにウィンドウ クラスを登録します。
構文
ATOM RegisterClassA(
[in] const WNDCLASSA *lpWndClass
);
パラメーター
[in] lpWndClass
型: const WNDCLASS*
WNDCLASS 構造体へのポインター。 構造体を関数に渡す前に、適切なクラス属性を入力する必要があります。
戻り値
種類: ATOM
関数が成功した場合、戻り値は登録されているクラスを一意に識別するクラス atom です。 この atom は、CreateWindow、CreateWindowEx、GetClassInfo、GetClassInfoEx、FindWindow、FindWindowEx、UnregisterClass 関数、および IActiveIMMap::FilterClientWindows メソッドでのみ使用できます。
関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
RegisterClassA を使用してウィンドウ クラスを登録した場合、アプリケーションは、作成されたクラスのウィンドウで、テキストまたは文字パラメーターを含むメッセージが ANSI 文字セットを使用することをシステムに通知します。RegisterClassW を使用して登録すると、アプリケーションはメッセージのテキスト パラメーターを Unicode として渡すように要求します。 IsWindowUnicode 関数を使用すると、アプリケーションは各ウィンドウの性質に対してクエリを実行できます。 ANSI 関数と Unicode 関数の詳細については、「 関数プロトタイプの規則」を参照してください。
アプリケーションが登録するすべてのウィンドウ クラスは、終了すると登録解除されます。
DLL がアンロードされるときに、DLL によって登録されたウィンドウ クラスは登録解除されません。 DLL は、アンロード時にそのクラスを明示的に登録解除する必要があります。
例
例については、「 Window プロシージャと Window クラスの関連付け」を参照してください。
注意
winuser.h ヘッダーは RegisterClass をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winuser.h (Windows.h を含む) |
Library | User32.lib |
[DLL] | User32.dll |
API セット | ext-ms-win-ntuser-windowclass-l1-1-0 (Windows 8 で導入) |
関連項目
概念
リファレンス