CWnd::Create
更新 : 2007 年 11 月
Windows の子ウィンドウを作成し、CWnd オブジェクトに関連付けます。
virtual BOOL Create(
LPCTSTR lpszClassName,
LPCTSTR lpszWindowName,
DWORD dwStyle,
Const RECT& rect,
CWnd* pParentWnd,
UINT nID,
CCreateContext* pContext = NULL
);
パラメータ
[入力] lpszClassName
ウィンドウ クラス (WNDCLASS 構造体) 名を含む、null で終わる文字列。クラス名は AfxRegisterWndClass 関数で登録された任意の名前、または任意の組み込みコントロール クラス名です。null のときは、既定の CWnd 属性を使います。[入力] lpszWindowName
ウィンドウ名を持つ NULL で終わる文字列。[入力] dwStyle
ウィンドウ スタイル属性を指定します。WS_POPUP を使うことはできません。ポップアップ ウィンドウを作成するときには CWnd::CreateEx を代わりに使ってください。[入力] Rect
ウィンドウのサイズと位置を pParentWnd のクライアント座標で指定します。[入力] pParentWnd
親ウィンドウを指定します。[入力] nID
子ウィンドウの ID を指定します。[入力] pContext
オプションの CCreateContext 構造体へのポインタです。作成プロセスの一部をオーバーライドする場合に使用します。
戻り値
正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
子ウィンドウは 2 ステップで構築します。まず、コンストラクタを呼び出して CWnd オブジェクトを構築します。次に、Create 関数を呼び出して Windows の子ウィンドウを作成し、CWnd に関連付けます。Create 関数は、ウィンドウのクラス名やウィンドウ名を初期化し、スタイル、親ウィンドウ、および ID の値を登録します。この処理の中で、Create は CWnd::PreCreateWindow 関数を呼び出します。
lpszClassName パラメータで使用できる定義済みのコントロール クラス名の一覧については、「About Window Classes」を参照してください。
使用例
// 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