次の方法で共有


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
UnregisterClassを使用してクラスの登録を解除すると、クラスのバックグラウンド ブラシ 自動的に削除されます。 アプリケーションでこれらのブラシを削除しないでください。

このメンバーが NULL場合、アプリケーションはクライアント領域で描画を要求されるたびに、独自の背景を描画する必要があります。 アプリケーションは、背景を描画する必要があるかどうかを判断するために、WM_ERASEBKGND メッセージを処理するか、BeginPaint 関数によって塗りつぶされた PAINTSTRUCT 構造体の fErase メンバーをテストできます。

lpszMenuName

型: LPCTSTR

リソース ファイルに名前が表示されるように、クラス メニューのリソース名を指定する null で終わる文字列へのポインター。 メニューを識別するために整数を使用する場合は、MAKEINTRESOURCE マクロを使用します。 このメンバーが NULL場合、このクラスに属するウィンドウには既定のメニューはありません。

lpszClassName

型: LPCTSTR

null で終わる文字列へのポインター、またはアトムです。 このパラメーターがアトムの場合は、RegisterClass または RegisterClassEx 関数 以前の呼び出しによって作成されたクラスアトムである必要があります。 atom は、lpszClassNameの下位ワードに含まれている必要があります。高次ワードはゼロでなければなりません。

lpszClassName が文字列の場合は、ウィンドウ クラス名を指定します。 クラス名には、RegisterClass または RegisterClassEx登録されている任意の名前、または定義済みのコントロール クラス名のいずれかを指定できます。

lpszClassName の最大長は 256 です。 lpszClassName が最大長を超える場合、RegisterClassEx 関数は失敗します。

hIconSm

型: HICON

ウィンドウ クラスに関連付けられている小さなアイコンへのハンドル。 このメンバーが NULL場合、システムは、hIcon メンバーによって指定されたアイコン リソースで、小さいアイコンとして使用する適切なサイズのアイコンを検索します。

備考

手記

winuser.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして WNDCLASSEX を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ヘッダー winuser.h (Windows.h を含む)

関連項目

概念

GetClassInfoEx の

リファレンス

RegisterClassEx の

UnregisterClass の

ウィンドウ クラス