DialogBased程序
想连续显示两个不同对话框,不是同时,一个显示完后显示另一个
试着在CPrjApp::InitInstant()中
{
C111Dlg dlg;
m_pMainWnd = &dlg;
int nResponse = dlg.DoModal();
}
{
C222Dlg dlg;
m_pMainWnd = &dlg;
int nResponse = dlg.DoModal();
}
这样似乎不行.只有第一个能显示.有问题么?另外想在显示第一个对话框的同时执行一些程序,
应该把这些代码放在什么地方?
放到OnInitDialog return之前似乎执行代码的时候对话框还
没显示.难道要在这里新创建一个线程才行?
想连续显示两个不同对话框,不是同时,一个显示完后显示另一个
试着在CPrjApp::InitInstant()中
{
C111Dlg dlg;
m_pMainWnd = &dlg;
int nResponse = dlg.DoModal();
}
{
C222Dlg dlg;
m_pMainWnd = &dlg;
int nResponse = dlg.DoModal();
}
这样似乎不行.只有第一个能显示.有问题么?另外想在显示第一个对话框的同时执行一些程序,
应该把这些代码放在什么地方?
放到OnInitDialog return之前似乎执行代码的时候对话框还
没显示.难道要在这里新创建一个线程才行?
通常是在OnInitialize()中执行操作,这个时候Dialog上的控件已经可以访问了;否则还是启一个线程吧
才会生成下一个对话框的实例啊
那下一个对话框再domodal也没什么问题吧?
可实际却不行啊
第二个窗口确实被创建、显示了,但是当它发现QS_QUIT标志位被设定便自动退出。
QS_QUIT标志位是线程的队列状态标志中的一个,不属于窗口。