iCAx开思工具箱

标题: ug中调用无模对话框 [打印本页]

作者: mazhiguo    时间: 2008-7-28 12:00
标题: ug中调用无模对话框
我用的是MFC DLL向导,添加ug的入口函数。然后在入口函数中调用mfc的模式对话框没有问题。以下代码调用无模对话框,没有错误提示,但是对话框不显示?不知怎么解决求教各位
AFX_MANAGE_STATE(AfxGetStaticModuleState());
     CDlgTest dlg=new CDlgTest;
    dlg.Create(IDD_DIALOG,NULL);
     dlg.ShowWindow(SW_SHOW);
作者: dianzi24    时间: 2008-7-28 12:36
直接创建非模对话框,对话框只会在UG中闪一下就立刻消失了,被析构掉了。用另一个dll去调用对话框,在清华教材的后面有一个实例就是调用非模对话框,不过有点罗嗦,可以精简。
作者: ffhi    时间: 2008-8-1 10:02
设置对话框的属性:Visible = True,即可。
作者: dianzi24    时间: 2008-8-2 08:02
1。对话框的属性:Visible默认的就是True吧。
2。楼主的代码本身也有问题,不能显示,应该用指针
  CDlgTest  *dlg=new CDlgTest;
    dlg->Create(IDD_DIALOG,NULL);
    dlg->ShowWindow(SW_SHOW);
3。在一个对话框中调用另一个非模对话框,一般没问题。但如果在UG的入口函数中创建非模对话框,Create后函数立刻返回,主函数也结束,UG会认为程序已经运行完毕,遂用析构函数将非模对话框析构掉,造成非模对话框在UG里只闪一下就消失。
作者: catry    时间: 2008-9-18 18:18
extern int ufusr_ask_unload( void )
{

//将return( UF_UNLOAD_IMMEDIATELY );改为以下语句,即可

return( UF_UNLOAD_SEL_DIALOG);


}
作者: catry    时间: 2008-9-18 18:18
而且用不用指针无所谓。
不过用过以后一定要destorywindow,不然会有问题。
作者: zzrxt    时间: 2008-9-19 19:14
请问catry兄弟如何estorywindow??




欢迎光临 iCAx开思工具箱 (https://t.icax.org/) Powered by Discuz! X3.3