iCAx开思工具箱
标题:
调用MFC模态对话框时,怎么样才能旋转移动NX的视图
[打印本页]
作者:
ftftftftft
时间:
2009-4-29 22:15
标题:
调用MFC模态对话框时,怎么样才能旋转移动NX的视图
我调用了MFC模态对话框,我调用后,需要旋转 移动 NX视图 方便观察模型的变化。
请问怎么办?
作者:
paladinrick
时间:
2009-4-30 17:14
一般来说,如果需要交互操作,最好使用非模态对话框,如果使用模态对话框的话,可以在需要操作的时候暂时隐藏对话框,可采用如下的步骤
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);
得到,然后作为父窗口传给对话框。
怎么样,说得够清楚吧
作者:
ftftftftft
时间:
2009-4-30 20:56
我要这个对话框点击OK后才能接着出现下一个对话框的。所以只能用模态
用非模态的话 会直接出现下一个对话框的
作者:
XUSIR98
时间:
2009-4-30 21:09
不行的,用模态的话不能移动视图的,只能用非模态
作者:
paladinrick
时间:
2009-4-30 21:20
如果不隐藏模态对话框,不可能同步操作nx的,除非按照我的方法先隐藏对话框,再操作然后再显示
作者:
tangxu12
时间:
2009-5-1 12:18
可以的
我是这么做的:
弄一个按钮,点击后触发调用一个UGOPEN中的一个非模态对话框 就可以了
我也不知道为什么,反正这样就可以了。
欢迎光临 iCAx开思工具箱 (https://t.icax.org/)
Powered by Discuz! X3.3