注
次のテクニカル ノートは、最初にオンライン ドキュメントに含まれてから更新されていません。 その結果、一部の手順やトピックが古くなっているか、正しくない可能性があります。 最新情報については、オンライン ドキュメント インデックスで関心のあるトピックを検索することをお勧めします。
MFC ウィンドウでは、ウィンドウの機能を反映する動的に作成されたクラス名が使用されます。 MFC は、アプリケーションによって生成されたフレーム ウィンドウ、ビュー、ポップアップ ウィンドウのクラス名を動的に生成します。 MFC アプリケーションによって生成されるダイアログ ボックスとコントロールには、該当するウィンドウのクラスに対して Windows が指定した名前が付けられます。
独自のウィンドウ クラスを登録し 、PreCreateWindow のオーバーライドで使用することで、動的に指定されたクラス名を置き換えることができます。 MFC で提供されるクラス名は、次の 2 つの形式のいずれかに適合します。
Afx:%x:%x
Afx:%x:%x:%x:%x:%x
%x
文字を置き換える 16 進数は、WNDCLASS 構造体のデータから入力されます。 MFC は、同じ WNDCLASS 構造体を必要とする複数の C++ クラスが同じ登録済みウィンドウ クラスを共有できるように、この手法を使用します。 ほとんどの単純な Win32 アプリケーションとは異なり、MFC アプリケーションには WNDPROC が 1 つしかないため、 WNDCLASS 構造体を簡単に共有して時間とメモリを節約できます。 上記の %x
文字の置換可能な値は次のとおりです。
WNDCLASS.hInstance
WNDCLASS.style
WNDCLASS.hCursor
WNDCLASS.hbrBackground
WNDCLASS.hIcon
最初の形式 (Afx:%x:%x
) は、 hCursor、 hbrBackground、 および hIcon がすべて NULL の場合に使用されます。