次の方法で共有


ウィンドウ クラスの登録

更新 : 2007 年 11 月

従来の Windows プログラミングでは、ウィンドウ クラスで "クラス" の特性を定義します。この "クラス" からたくさんのウィンドウを作成できます。ただし、ここでいう "クラス" とは C++ のクラスではありません。ウィンドウ作成のためのテンプレートまたはモデルを指します。

従来の Windows プログラムでのウィンドウ クラスの登録

MFC を使用しない、従来の Windows プログラムでは、ウィンドウへのメッセージはすべて "ウィンドウ プロシージャ" つまり "WndProc" で処理します。WndProc は、"ウィンドウ クラスの登録" 処理によってウィンドウに関連付けられます。メイン ウィンドウは WinMain 関数に登録されますが、ウィンドウのほかのクラスは、アプリケーションの任意の場所に登録できます。登録には、WndProc 関数へのポインタを格納した構造体を使います。この構造体では、カーソルや背景ブラシなども指定します。構造体は、RegisterClass 関数を呼び出すときに、クラス名の文字列と共にパラメータとして渡します。こうして、登録クラスを複数のウィンドウで共有できます。

MFC プログラムでのウィンドウ クラスの登録

対照的に、MFC フレームワーク プログラムでは、ほとんどのウィンドウ クラスの登録処理は自動的に行われます。通常、MFC を使用している場合は、クラス継承のための標準の C++ 構文を使用して、既存のライブラリ クラスから C++ ウィンドウ クラスを派生させます。ただし、フレームワークでは、従来の "登録クラス" が使われているので、いくつかの標準的なクラスは標準のアプリケーションの初期化関数で登録されます。登録クラスを追加するには、AfxRegisterWndClass グローバル関数を呼び出して、登録されたクラスを CWndCreate メンバ関数に渡します。ここで説明したように、Windows における従来の "登録クラス" は、C++ のクラスとは別のものです。

詳細については、「テクニカル ノート 1: ウィンドウ クラスの登録」を参照してください。

参照

参照

ウィンドウの作成