点击查看详细介绍

UG中调用MFC非模态对话框的一点心得

paladinrick 17年前 9739 2

购买与咨询 NX 二次开发视频教程,请联系微信号:13890821008  QQ号:85585969  


小弟新来乍到,前两天刚在论坛上发了帖子求问这方面的问题,现在问题已经解决,就想在这里献丑了,真是不好意思。不过也是由于如题的问题很少有讲得很系统全面的解决方法和步骤,也许对于高手来说只是小菜,但本人却花了近一天的时间才搞定,所以不希望后来者还在这问题上栽跟头浪费无谓的时间和精力。如有错漏希望指正。

ug中调用mfc对话框的文章很多了,这里仅专门针对非模态对话框要特别注意的几个事项进行说明:

1. 在创建和调用对话框之前一定要使用AFX_MANAGE_STATE(AfxGetStaticModuleState()),这是因为mfc创建的project类型肯定只能是dll,需要告诉在运行时去dll所在的模块下找资源文件而不是去应用程序(也就是ug)中找。这一点适用于所有ug调用的mfc项目;

2. 创建对话框的代码如下

0

最新回复 (2)
  • tangxu12 17年前
    1

    这样就可以了:

    //显示MFC非模态对话框
    CWnd* pParent = AfxGetMainWnd();
    DisplayMyDialog (pParent);

    int DisplayMyDialog(CWnd* pParent)
    {
    AFX_MANAGE_STATE(AfxGetStaticModuleState());
    CMyDlg* theDlg=new CMyDlg();
    if(dlg!=NULL)

  • XUSIR98 17年前
    2

    很少有人写这样的文章了,楼上的请看完楼主写的再发表意见好不。
    楼主的5和6很值得我考虑,另外,可以用UF_UNLOAD_IMMEDIATELY,我以前试过,要用按扭触发什么的,但是还是不能解决释放DLL问题,我再试试你的5里的话,看看行不行!

请登录后发表新帖