永发信息网

MFC 中有两个dialog 如何改变 编译时默认弹出的dialog

答案:4  悬赏:60  手机版
解决时间 2021-01-27 00:43
  • 提问者网友:捧腹剧
  • 2021-01-26 18:21
MFC 中有两个dialog 如何改变 编译时默认弹出的dialog
最佳答案
  • 五星知识达人网友:佘樂
  • 2021-01-26 19:45
楼主要明白一下:
一个工作空间下可以包含多个项目,每个项目即一个工程,可以包含多个对话框,默认情况下,有一个主对话框,这个对话框一般可以通过AfxGetMainWnd()来获取,那么如果一个工程的话,弹出的对话框默认情况下就是主对话框,即:下面的函数中就是弹出模态对话框,该对话框就是主对话框。
BOOL C××××App::InitInstance()
{
.................

CTestDlg dlg;
m_pMainWnd = &dlg;
int nResponse = dlg.DoModal();
if (nResponse == IDOK)
{
// TODO: Place code here to handle when the dialog is
// dismissed with OK
}
else if (nResponse == IDCANCEL)
{
// TODO: Place code here to handle when the dialog is
// dismissed with Cancel
}

// Since the dialog has been closed, return FALSE so that we exit the
// application, rather than start the application's message pump.
return FALSE;
}

---------------------------------------------------------------
如何改变??指的是??如果除了对话框外,还有很多个对话框,则想弹出那个就哪个。
可以用模态方式也可以用非模态方式,均可。看实际需要。
非模态对话框需要注意释放对话框c++对象问题。
全部回答
  • 1楼网友:归鹤鸣
  • 2021-01-26 22:42
你的情况是不是:一个解决方案下有两个对话框项目? 在项目上右键,选择 设置为默认启动项。
  • 2楼网友:鱼芗
  • 2021-01-26 22:07
一楼正解
  • 3楼网友:持酒劝斜阳
  • 2021-01-26 20:53
比如是点击按钮后弹出窗口,那么你就应该在点击事件的消息处理函数中改, 一般都是: 窗口类名 dlg; dlg.DoModle(); 想弹出哪个窗口就用哪个窗口的类 注意要包含这个类的头文件
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯