CWnd::PreCreateWindow
CWnd オブジェクトに結び付けられた Windows のウィンドウが作成される前に、フレームワークから呼び出されます。
virtual BOOL PreCreateWindow(
CREATESTRUCT& cs
);
パラメーター
- cs
CREATESTRUCT 構造体。
戻り値
ウィンドウの作成を継続する場合は、0 以外を返します。それ以外の場合は 0 を返します。
解説
この関数は直接呼び出さないでください。
この関数の既定の実装では、NULL ウィンドウ クラス名をチェックし、適切な既定の名前を置き換えます。 ウィンドウが作成される前に CREATESTRUCT 構造体を変更するには、このメンバー関数をオーバーライドしてください。
CWnd から派生する各クラスが PreCreateWindow のオーバーライドに独自の機能を追加します。 デザインでは、PreCreateWindow の派生はドキュメント化されていません。 各クラスの適切なスタイルおよびスタイル間の相互依存関係を判断するために、アプリケーションの基本クラスの MFC ソース コードを使用できます。 PreCreateWindow をオーバーライドすることを選択する場合、MFC ソース コードから集めた情報を使用して、アプリケーションの基本クラスで使用されているスタイルに必要な機能が用意されているかどうかを判断できます。
ウィンドウ スタイルの変更に関する詳細については、「MFC で作成したウィンドウのスタイル変更」を参照してください。
使用例
// alter the styles of the mdi frame window
BOOL CMdiChildFrame::PreCreateWindow(CREATESTRUCT& cs)
{
// Create a window without min/max buttons or sizable border
cs.style |= WS_OVERLAPPED | WS_SYSMENU | WS_BORDER;
// Size the window to 1/3 screen size and center it
cs.cy = ::GetSystemMetrics(SM_CYSCREEN) / 3;
cs.cx = ::GetSystemMetrics(SM_CXSCREEN) / 3;
cs.y = ((cs.cy * 3) - cs.cy) / 2;
cs.x = ((cs.cx * 3) - cs.cx) / 2;
return CMDIChildWnd::PreCreateWindow(cs);
}
必要条件
**ヘッダー:**afxwin.h