CWnd::Create
指定された子ウィンドウを作成し、それを CWnd オブジェクトにアタッチします。
virtual BOOL Create(
LPCTSTR lpszClassName,
LPCTSTR lpszWindowName,
DWORD dwStyle,
Const RECT& rect,
CWnd* pParentWnd,
UINT nID,
CCreateContext* pContext = NULL
);
パラメーター
[入力] lpszClassName
登録されているシステム ウィンドウ クラスの名前を含む null で終わる文字列へのポインター。または、定義済みシステム ウィンドウ クラスの名前。[入力] lpszWindowName
ウィンドウの表示名を含む null で終わる文字列へのポインター。ウィンドウの表示名がない場合は NULL。[入力] dwStyle
ウィンドウ スタイルのビットごとの組み合わせ (OR)。WS_POPUP オプションは有効なスタイルではありません。[入力] rect
親ウィンドウの左上隅を基準とした、ウィンドウのサイズと位置。[入力] pParentWnd
親ウィンドウへのポインター。[入力] nID
ウィンドウの ID。[入力] pContext
アプリケーションのドキュメント/ビュー アーキテクチャをカスタマイズするために使用される CCreateContext 構造体へのポインター。
戻り値
メソッドが正常に実行された場合は TRUE。それ以外の場合は FALSE。
解説
注意 |
---|
CWnd::PreCreateWindow は this のポインターに、メニューが NULL であり、スタイルが WS_CHILDが含まれている場合 CREATESTRUCT のパラメーターの hMenu のメンバーを割り当てます。適切な動作に、ダイアログのコントロールに NULLではない ID があることを確認します。 この変更は、マネージまたはネイティブ相互運用シナリオのクラッシュを修正。CWnd::Create の TRACE のステートメントは、開発者の問題を通知します。 |
ウィンドウ クラスを登録するには、AfxRegisterWndClass 関数を使用します。ユーザー定義のウィンドウ クラスは、それらが登録されたモジュールで使用できます。
Create メソッドが戻る前、かつウィンドウが表示される前に、CWnd::OnCreate メソッドが呼び出されます。
使用例
// Dynamically create static control using CWnd::Create,
// instead of with CStatic::Create, which doesn't
// need the "STATIC" class name.
void CMyDlg::OnCreateStatic()
{
// m_pWndStatic is a CWnd* member of CMyDlg
m_pWndStatic = new CWnd;
m_pWndStatic->Create(_T("STATIC"), _T("Hi"), WS_CHILD | WS_VISIBLE,
CRect(0, 0, 20, 20), this, 1234);
}
必要条件
ヘッダー: afxwin.h