我生成了一个对话框工程,然后在框上放了个按钮,然后插入了一个新的对话框,我用那个按钮来实现新插入的对话框的显示,开始用的是模式对话框,后来用的是非模式对话框,但问题就出来了,按钮里面的程序是这样一来的:
dd=new Cdama;//为新插入的对象分配内存空间
UpdateData(true);
if((strcmp(m_password,m_mima)==0)&&(strcmp(m_edit1,mima)==0))
{
CDialog::OnOK();//当输入正确后关闭第一个对话框
//dd=new Cdama;
dd->Create(IDD_DIALOG1);
dd->ShowWindow(SW_RESTORE);//显示第二个对话框
//dd.DoModal();
//dd1.DoModal();
}
else
{
MessageBox("请重新输入密码!",MB_OK);
m_password="";
}
本来用DoModal()方法是可以正常显示的,可是用上面的方法就不可以了,我开始还以为当第一个对话框关闭以后,也把第二个对话框也关闭了,所以我把那个指针定义在了IF语句之外,可是还是有问题,为什么第二个对话框不能显示呢?......
dd=new Cdama;//为新插入的对象分配内存空间
UpdateData(true);
if((strcmp(m_password,m_mima)==0)&&(strcmp(m_edit1,mima)==0))
{
CDialog::OnOK();//当输入正确后关闭第一个对话框
//dd=new Cdama;
dd->Create(IDD_DIALOG1);
dd->ShowWindow(SW_RESTORE);//显示第二个对话框
//dd.DoModal();
//dd1.DoModal();
}
else
{
MessageBox("请重新输入密码!",MB_OK);
m_password="";
}
本来用DoModal()方法是可以正常显示的,可是用上面的方法就不可以了,我开始还以为当第一个对话框关闭以后,也把第二个对话框也关闭了,所以我把那个指针定义在了IF语句之外,可是还是有问题,为什么第二个对话框不能显示呢?......
解决方案 »
- 关于“因为应用程序正在发送一个输入同步呼叫,所以无法执行传出的呼叫”的问题
- MapViewOfFile返回指针,"写"操作导致程序异常退出。为什么?
- VC6.0写的ocx控件打包进网页不正确
- 使用strok函数将字符串分割后,如何丢掉第一个字符.
- 关于APP WIZARD自动生成代码的问题:
- 【谁有类似QQ的发送消息窗口的界面代码】
- 关于COM的代理和存根的问题?
- 300分!!!求交换机计费软件源程序。收到后将继续加分。
- 我想问一问一个WINDOWS程序在DOS提示符下带参数初始运行是怎么实现的?比如:cmd:xxx.exe -arg1 -arg2<CR>
- 电脑操作影响程序执行
- ActiveX控件两问,在线等待解决方案。
- 鼠标自由拖出一个窗口?
此语句在第一个进程内存空间中申请空间,当第一个进程退出后,申请的空间也就释放了,当然无法显示第二个对话框。
模态对话框就不一样了,它将第一个进程阻塞,只有他退出后,第一个进程才能退出。