次の方法で共有


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。

解説

Caution メモ注意

CWnd::PreCreateWindow は this のポインターに、メニューが NULL であり、スタイルが WS_CHILDが含まれている場合 CREATESTRUCT のパラメーターの hMenu のメンバーを割り当てます。適切な動作に、ダイアログのコントロールに NULLではない ID があることを確認します。

この変更は、マネージまたはネイティブ相互運用シナリオのクラッシュを修正。CWnd::CreateTRACE のステートメントは、開発者の問題を通知します。

ウィンドウ クラスを登録するには、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

参照

関連項目

CWnd クラス

階層図

CWnd::CWnd

CWnd::CreateEx

CreateWindowEx