以下是 CDialog::CreateIndirect 的声明:
virtual BOOL CreateIndirect(
const DLGTEMPLATE* lpDialogTemplate,
CWnd* pParentWnd = NULL,
void* lpDialogInit = NULL
);
- lpDialogTemplate:指向对话框模板的指针。
- pParentWnd:指向对话框的父窗口的指针。
- lpDialogInit:指向对话框的初始化数据的指针。
示例用法如下:
// 假设已经有一个 DLGTEMPLATE 对象(在内存中的对话框模板数据)
CDialog dlg;
if (dlg.CreateIndirect(&dlgTemplate, pParentWnd))
{
// 对话框创建成功,可以进行其他操作
dlg.ShowWindow(SW_SHOW);
}
在这个示例中,&dlgTemplate 是指向对话框模板的指针,pParentWnd 是指向父窗口的指针。调用 CreateIndirect 方法后,如果创建成功,可以调用 ShowWindow 方法显示对话框。
通常,CreateIndirect 方法的使用场景是在运行时动态生成对话框模板的情况下,而不是在资源中定义的静态对话框。这允许你在程序运行时创建并显示对话框。
转载请注明出处:http://www.pingtaimeng.com/article/detail/17329/MFC/CDialog