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 の値を登録します。この処理の中で、CreateCWnd::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

参照

参照

CWnd クラス

階層図

CWnd::CWnd

CWnd::CreateEx

その他の技術情報

CWnd のメンバ