次の方法で共有


ウィンドウ クラスの登録

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

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

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

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

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

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

参照

参照

ウィンドウの作成