一般的なウィンドウ作成順序
子ウィンドウなど、独自のウィンドウを作成する場合、フレームワークは「ドキュメント/ビューの作成」で説明されているものとほぼ同じプロセスを使用します。
MFC で用意されているすべてのウィンドウ クラスは、2 段階の構築を採用しています。 つまり、C++ new
演算子の呼び出し中に、コンストラクターは C++ オブジェクトを割り当てて初期化しますが、対応する Windows ウィンドウは作成しません。 その処理は、ウィンドウ オブジェクトの Create メンバー関数を呼び出すことで、後で実行されます。
Create
メンバー関数は Windows ウィンドウを作成し、その HWND
を C++ オブジェクトのパブリック データ メンバー m_hWnd に格納します。 Create
を使用すると、creation パラメーターよりも柔軟に処理できます。 Create
を呼び出す前に、グローバル関数 AfxRegisterWndClass にウィンドウ クラスを登録し、フレームのアイコンとクラスのスタイルを設定することもできます。
フレーム ウィンドウでは、Create
の代わりに LoadFrame メンバー関数を使用できます。 LoadFrame
は、より少ないパラメーターを使用して Windows ウィンドウを作成します。 これは、フレームのキャプション、アイコン、アクセラレータ テーブル、メニューなど、リソースから多数の既定値を取得します。
Note
アイコン、アクセラレータ テーブル およびメニュー リソースが LoadFrame によって読み込まれるようにするには、IDR_MAINFRAME などの共有のリソース ID をそれらに指定する必要があります。