WNDCLASSEXA 構造体 (winuser.h)
ウィンドウ クラス情報が含まれます。 RegisterClassEx 関数と GetClassInfoEx 関数で使用されます。
WNDCLASSEX 構造体は、WNDCLASS 構造体に似ています。 2 つの違いがあります。 WNDCLASSEX には、構造体のサイズを指定する cbSize メンバーと、ウィンドウ クラスに関連付けられた小さなアイコンへのハンドルを含む hIconSm メンバーが含まれます。
構文
typedef struct tagWNDCLASSEXA {
UINT cbSize;
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HINSTANCE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCSTR lpszMenuName;
LPCSTR lpszClassName;
HICON hIconSm;
} WNDCLASSEXA, *PWNDCLASSEXA, *NPWNDCLASSEXA, *LPWNDCLASSEXA;
メンバー
cbSize
型: UINT
この構造体のサイズ (バイト単位)。 このメンバーを に設定します sizeof(WNDCLASSEX)
。
GetClassInfoEx 関数を呼び出す前に、必ずこのメンバーを設定してください。
style
型: UINT
クラス のスタイル。 このメンバーには、 クラス スタイルの任意の組み合わせを指定できます。
lpfnWndProc
種類: WNDPROC
ウィンドウ プロシージャへのポインター。 ウィンドウ プロシージャを呼 び出すには、CallWindowProc 関数を使用する必要があります。 詳細については、「 WindowProc」を参照してください。
cbClsExtra
型: int
ウィンドウ クラス構造体の後に割り当てる余分なバイト数。 システムはバイトをゼロに初期化します。
cbWndExtra
型: int
ウィンドウ インスタンスの後に割り当てる余分なバイト数。 システムはバイトをゼロに初期化します。 アプリケーションで WNDCLASSEX を使用して、 CLASS ディレクティブを使用して作成されたダイアログ ボックスをリソース ファイルに登録する場合は、このメンバーを DLGWINDOWEXTRA に設定する必要があります。
hInstance
種類: HINSTANCE
クラスのウィンドウ プロシージャを含む インスタンスへのハンドル。
hIcon
種類: HICON
クラス アイコンへのハンドル。 このメンバーは、アイコン リソースへのハンドルである必要があります。 このメンバーが NULL の場合、システムには既定のアイコンが表示されます。
hCursor
型: HCURSOR
クラス カーソルへのハンドル。 このメンバーは、カーソル リソースへのハンドルである必要があります。 このメンバーが NULL の場合、マウスがアプリケーションのウィンドウに移動するたびに、アプリケーションでカーソルの図形を明示的に設定する必要があります。
hbrBackground
種類: HBRUSH
クラスの背景ブラシへのハンドル。 このメンバーは、背景の描画に使用するブラシのハンドルにすることも、色の値にすることもできます。 色の値は、次の標準システム カラーのいずれかである必要があります (値 1 を選択した色に追加する必要があります)。 色の値を指定する場合は、次のいずれかの HBRUSH 型に変換する必要があります。
- COLOR_ACTIVEBORDER
- COLOR_ACTIVECAPTION
- COLOR_APPWORKSPACE
- COLOR_BACKGROUND
- COLOR_BTNFACE
- COLOR_BTNSHADOW
- COLOR_BTNTEXT
- COLOR_CAPTIONTEXT
- COLOR_GRAYTEXT
- COLOR_HIGHLIGHT
- COLOR_HIGHLIGHTTEXT
- COLOR_INACTIVEBORDER
- COLOR_INACTIVECAPTION
- COLOR_MENU
- COLOR_MENUTEXT
- COLOR_SCROLLBAR
- COLOR_WINDOW
- COLOR_WINDOWFRAME
- COLOR_WINDOWTEXT
このメンバーが NULL の場合、アプリケーションはクライアント領域で描画を要求されるたびに、独自の背景を描画する必要があります。 背景を描画する必要があるかどうかを判断するために、アプリケーションは、WM_ERASEBKGND メッセージを処理するか、BeginPaint 関数によって塗りつぶされた PAINTSTRUCT 構造体の fErase メンバーをテストできます。
lpszMenuName
種類: LPCTSTR
リソース ファイルに名前が表示されるように、クラス メニューのリソース名を指定する null で終わる文字列へのポインター。 メニューを識別するために整数を使用する場合 は、MAKEINTRESOURCE マクロを使用します。 このメンバーが NULL の場合、このクラスに属するウィンドウには既定のメニューはありません。
lpszClassName
種類: LPCTSTR
null で終わる文字列へのポインター。または アトムです。 このパラメーターが atom の場合は、RegisterClass 関数または RegisterClassEx 関数の前回の呼び出しによって作成されたクラス atom である必要があります。 atom は lpszClassName の下位ワードに含まれている必要があります。上位ワードは 0 である必要があります。
lpszClassName が文字列の場合は、ウィンドウ クラス名を指定します。 クラス名には、RegisterClass または RegisterClassEx に登録されている任意の名前、または定義済みのコントロール クラス名のいずれかを指定できます。
lpszClassName の最大長は 256 です。 lpszClassName が最大長を超える場合、RegisterClassEx 関数は失敗します。
hIconSm
種類: HICON
ウィンドウ クラスに関連付けられている小さなアイコンへのハンドル。 このメンバーが NULL の場合、 システムは hIcon メンバーによって指定されたアイコン リソースで、小さいアイコンとして使用する適切なサイズのアイコンを検索します。
注釈
注意
winuser.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして WNDCLASSEX を定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
Header | winuser.h (Windows.h を含む) |
関連項目
概念
リファレンス