次の方法で共有


CDialog::Create

リソースのダイアログ ボックス テンプレートを使用してモードレス ダイアログ ボックスを作成するに [作成] を呼び出します。

virtual BOOL Create(
   LPCTSTR lpszTemplateName,
   CWnd* pParentWnd = NULL 
);
virtual BOOL Create(
   UINT nIDTemplate,
   CWnd* pParentWnd = NULL 
);

パラメーター

  • lpszTemplateName
    ダイアログ ボックス テンプレートのリソースの名前である null で終わる文字列が含まれます。

  • pParentWnd
    親ウィンドウへのポインターは、ダイアログ オブジェクトによってが属するをに変換する (型 CWnd)。これは null場合は、ダイアログ オブジェクトの親ウィンドウは、メイン アプリケーション ウィンドウに設定されます。

  • nIDTemplate
    ダイアログ ボックス テンプレートのリソース id 番号を指定します。

戻り値

フォームは両方とも、ダイアログ ボックスの作成および初期化が成功した場合はを返します; それ以外の場合は 0。

解説

コンストラクターが呼び出された後にコンストラクター内の [作成] の呼び出しを設定するか、またはを呼び出します。

[作成] のメンバー関数の 2 とおりの形式は名前またはテンプレートの ID 番号 (IDD_DIALOG1 など) でダイアログ ボックス テンプレートのリソースにアクセスするために用意されています。

どちらのフォームでは、親ウィンドウ オブジェクトへのポインターを渡します。pParentWnd が null場合、ダイアログ ボックスはメイン アプリケーション ウィンドウにある親ウィンドウまたはオーナー ウィンドウによって作成されます。

[作成] のメンバー関数は、ダイアログ ボックスを作成した直後に戻ります。

親ウィンドウの作成時にダイアログ ボックスが表示された場合は、ダイアログ ボックス テンプレートで WS_VISIBLE のスタイルを使用します。それ以外 ShowWindowを呼び出す必要があります。そのほかのダイアログ ボックスのスタイルおよびアプリケーションでは、*" MFC リファレンス"*の Windows SDK と [ウィンドウ スタイル]DLGTEMPLATE の構造体を参照してください。

[作成] 関数によって作成されるダイアログ ボックスを破棄するときに CWnd::DestroyWindow 関数を使用します。

使用例

void CMyDialog::OnMenuShowSimpleDialog()
{
   //m_pSimpleDialog initialized to NULL in the constructor of CMyDialog class
   m_pSimpleDlg = new CSimpleDlg();
   //Check if new succeeded and we got a valid pointer to a dialog object
   if(m_pSimpleDlg != NULL)
   {
      BOOL ret = m_pSimpleDlg->Create(IDD_SIMPLEDIALOG, this);

      if(!ret)   //Create failed.
         AfxMessageBox(_T("Error creating Dialog"));

      m_pSimpleDlg->ShowWindow(SW_SHOW);
   }
   else
   {
      AfxMessageBox(_T("Error Creating Dialog Object"));
   }
}

必要条件

ヘッダー: afxwin.h

参照

関連項目

CDialog クラス

階層図

CDialog::CDialog

CWnd::DestroyWindow

CDialog::InitModalIndirect

CDialog::DoModal

CreateDialog