if (IDOK == dlg.DoModal())
{
csFile = dlg.GetPathName();
return (LPCTSTR)csFile;
}
return NULL;
我有一个桌面应用程序,在这里我有一个对话框。当我在此对话框中单击打开按钮时,应弹出另一个打开的对话框。显示此打开的对话框后,我可以再次转到上一个对话框并单击打开。因此显示了打开对话框的第二个实例。我可以多次这样做。打开的对话框是整个应用程序的模态,而不是以前的对话框。谁能帮我这个?根据设计,一旦显示打开的对话框,在关闭之前不应该有任何其他活动。
答案 0 :(得分:2)
对话框的标准向导生成的构造函数包含一个可选的constructor-parameter,您可以在其中指定父窗口:
class CMyOpenDialog : public CDialog
{
// Construction
public:
CMyOpenDialog(CWnd* pParent = NULL); // standard constructor
...
当您从对话框中调用此第二个对话框时,请提供父对象,例如
CMyOpenDialogdlg(this);