WNDCLASSW 構造体 (winuser.h)

RegisterClass 関数によって登録されるウィンドウ クラス属性を格納します。

この構造体は、RegisterClassEx 関数で使用される WNDCLASSEX 構造体に置き換えられます。 ウィンドウ クラスに関連付けられている小さなアイコンを設定する必要がない場合は、 WNDCLASSRegisterClass を引き続き使用できます。

構文

typedef struct tagWNDCLASSW {
  UINT      style;
  WNDPROC   lpfnWndProc;
  int       cbClsExtra;
  int       cbWndExtra;
  HINSTANCE hInstance;
  HICON     hIcon;
  HCURSOR   hCursor;
  HBRUSH    hbrBackground;
  LPCWSTR   lpszMenuName;
  LPCWSTR   lpszClassName;
} WNDCLASSW, *PWNDCLASSW, *NPWNDCLASSW, *LPWNDCLASSW;

メンバー

style

型: UINT

クラス のスタイル。 このメンバーには、 クラス スタイルの任意の組み合わせを指定できます。

lpfnWndProc

種類: WNDPROC

ウィンドウ プロシージャへのポインター。 ウィンドウ プロシージャを呼 び出すには、CallWindowProc 関数を使用する必要があります。 詳細については、「 WindowProc」を参照してください。

cbClsExtra

型: int

ウィンドウ クラス構造体の後に割り当てる余分なバイト数。 システムはバイトをゼロに初期化します。

cbWndExtra

型: int

ウィンドウ インスタンスの後に割り当てる余分なバイト数。 システムはバイトをゼロに初期化します。 アプリケーションで WNDCLASS を 使用して、リソース ファイル内の 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

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

lpszClassName

種類: LPCTSTR

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

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

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

注釈

注意

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

要件

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

こちらもご覧ください

BeginPaint

概念

CreateWindow

CreateWindowEx

Getdc

MAKEINTRESOURCE

その他のリソース

PAINTSTRUCT

リファレンス

RegisterClass

UnregisterClass

Wm_paint

WNDCLASSEX

ウィンドウ クラス

WindowProc