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