以前用非模态对话框的时候都是在程序中通过一个按钮或菜单调用,现在我想让一个通过appwizard建立的对话框程序在启动时就用非模态的方法显示出来,请问以下这些代码应该加在哪里?
dlg=new CMyDlg; //CMydlg *dlg=NULL的声明位于全局区
dlg-> Create(IDD_PS_DIALOG);
dlg-> ShowWindow(SW_SHOW);我已经把原来appwizard默认在app类中的initinstance里生成的dlg.domodal()等等有关模态对话框的代码都删除了,并且把上面的三行代码试着放入app类中的initinstance,CMydlg类中的OnInitialDialog也试过了,可是都不行,运行结果是那个对话框闪了一下就消失了,请问这是什么原因?该怎么解决?
dlg=new CMyDlg; //CMydlg *dlg=NULL的声明位于全局区
dlg-> Create(IDD_PS_DIALOG);
dlg-> ShowWindow(SW_SHOW);我已经把原来appwizard默认在app类中的initinstance里生成的dlg.domodal()等等有关模态对话框的代码都删除了,并且把上面的三行代码试着放入app类中的initinstance,CMydlg类中的OnInitialDialog也试过了,可是都不行,运行结果是那个对话框闪了一下就消失了,请问这是什么原因?该怎么解决?
dlg-> Create(IDD_PS_DIALOG);//加上下面这两句试一下
DWORD style = dlg->GetStyle();
dlg->ModifyStyle(style,WS_CHILD|WS_VISIBLE,1);
dlg->SetParent(pParent);dlg-> ShowWindow(SW_SHOW);
顶
如果你用非模态对话框的话,一经调用后马上就return,也就是程序就结束了.除非在此你先调用一个隐藏起来的DoModal