在 MFC 中从文档类创建无模式对话框
Posted
技术标签:
【中文标题】在 MFC 中从文档类创建无模式对话框【英文标题】:Creating Modeless Dialog-box from Document Class in MFC 【发布时间】:2013-02-22 17:32:34 【问题描述】:从我的文档类创建模式对话框没有问题。只需将以下内容添加到 Document 类:
CDialog dlg;
dlg.DoModal();
但是当我想为无模式对话框做同样的事情时它不起作用:
CDialog * pDialog;
pDialog = new CDialog();
pDialog->Create(IDD_DIALOG, this);
我得到的错误是:
error C2664: 'BOOL CDialog::Create(LPCTSTR,CWnd *)' : cannot convert parameter 1 from 'int' to 'LPCTSTR'
任何帮助表示赞赏。
【问题讨论】:
问题是 'this' 参数应该是 CWnd* 而你是 CDocument* - 尝试通过将 NULL 而不是 'this' 作为第二个参数或父级来将其作为父级到桌面通过 AfxGetMainWnd() 传递大型机。 你有答案吗?同样的问题! 【参考方案1】:我认为你需要的是
pDialog->Create(MAKEINTRESOURCE(IDD_DIALOG), this);
【讨论】:
根据documentation forCDialog::Create
应该直接取整型参数。以上是关于在 MFC 中从文档类创建无模式对话框的主要内容,如果未能解决你的问题,请参考以下文章