找回密码 注册 QQ登录
开思网工业级高精度在线3D打印服务

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
查看: 17467|回复: 5
打印 上一主题 下一主题

[求助] 调用MFC模态对话框时,怎么样才能旋转移动NX的视图

[复制链接]
跳转到指定楼层
1
发表于 2009-4-29 22:15:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
我调用了MFC模态对话框,我调用后,需要旋转 移动 NX视图 方便观察模型的变化。

请问怎么办?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2009-4-30 17:14:40 | 只看该作者
一般来说,如果需要交互操作,最好使用非模态对话框,如果使用模态对话框的话,可以在需要操作的时候暂时隐藏对话框,可采用如下的步骤
HideDialog();
//此处添加你的操作触发动作,比如对话框上的一个按钮,点击后进入nx交互操作
ShowDialog();

HideDialog()和ShowDialog()是对话框成员函数,可以参照如下方式编写 :
void MyDialog::HideDialog()
{
        this->EndModalState();
        NXwindow->EnableWindow (true);
        NXwindow->SetFocus();
        NXwindow->ShowWindow(SW_SHOW);
        this->ShowWindow(SW_HIDE);
        NXwindow->RedrawWindow();
}

void MyDialog::ShowDialog()
{
          NXwindow->EnableWindow (false);
          this->ShowWindow(SW_SHOW);
          this->BeginModalState();
              this->EnableWindow (true);
          this->RedrawWindow();
         this->SetFocus();
}

其中NXwindow是指向ug窗口的CWnd指针变量,可以在对话框创建之前用
HWND UGHwnd = (HWND) UF_UI_get_default_parent();
        CWnd *NXwindow= CWnd::FromHandle(UGHwnd);
得到,然后作为父窗口传给对话框。

怎么样,说得够清楚吧
3
发表于 2009-4-30 20:56:20 | 只看该作者
我要这个对话框点击OK后才能接着出现下一个对话框的。所以只能用模态

用非模态的话 会直接出现下一个对话框的
4
发表于 2009-4-30 21:09:22 | 只看该作者
不行的,用模态的话不能移动视图的,只能用非模态
5
发表于 2009-4-30 21:20:45 | 只看该作者
如果不隐藏模态对话框,不可能同步操作nx的,除非按照我的方法先隐藏对话框,再操作然后再显示
6
发表于 2009-5-1 12:18:12 | 只看该作者
可以的

我是这么做的:
弄一个按钮,点击后触发调用一个UGOPEN中的一个非模态对话框 就可以了

我也不知道为什么,反正这样就可以了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2024-12-28 08:53 , Processed in 0.021357 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

快速回复 返回顶部 返回列表