乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 84|回复: 5

[ARX]有关模态对话框与AutoCAD2002控制权相互转交的问题

[复制链接]

12

主题

17

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
发表于 2006-2-6 14:28:00 | 显示全部楼层 |阅读模式
用ARX边的程序,在2002里加载它后执行,在弹出的模态对话框中一个新建DWG的按钮,问题是点击按钮后,将控制权交给AutocAD2002,在完成如新建一个DWG文档、存盘等操作后,返回对话框,这个功能如何实现?
回复

使用道具 举报

14

主题

43

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
99
发表于 2006-2-8 13:09:00 | 显示全部楼层
帮你顶一下。我的程序也是这个问题无法解决,我用 sw_hide  参数,还有Sleep(2000) 等指命令,就是针对 主对话框窗口 的操作,都会引起CAD挂起出错退出。
回复

使用道具 举报

12

主题

17

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
发表于 2006-2-9 09:15:00 | 显示全部楼层
高分求解,谁能解决重奖励
回复

使用道具 举报

1

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
6
发表于 2010-8-15 22:35:00 | 显示全部楼层
本问题值得探讨。我也出现类似问题。目前还没有答案。
回复

使用道具 举报

1

主题

9

帖子

1

银币

初来乍到

Rank: 1

铜币
13
发表于 2010-8-16 22:17:00 | 显示全部楼层
这时候可能需要非模态对话框,例如AutoCAD中的属性面板就是AutoCAD封装的一个非模态对话框。
点击非模态对话框中的Button后,需要隐藏这个对话框。
由于非模态对话框处于Applicaton Context, 当AutCAD窗口获得焦点后,控制权就落在AutoCAD手里, 这样我们就可以为AutoCAD命令创建/保存文档。
我们需要扑捉一个事件用来让我们的非模态对话框重新显示出来,比如可以扑捉命令结束事件,或者扑捉文档加锁/解锁命令。
回复

使用道具 举报

0

主题

3

帖子

1

银币

初来乍到

Rank: 1

铜币
3
发表于 2010-11-7 22:01:00 | 显示全部楼层
[b]模态对话框只要是从CAdUiBaseDialog派生的(一般从CAcUiDialog派生自己的模态对话框 ,CDialog->CAdUiBaseDialog->CAdUiDialog->CAcUiDialog),就可以使用如下方法:
void CMyDialog::OnBnClickedCheck1()
{
  BeginEditorCommand();
    //进入CAD交互模式
  if (DoMyInteractiveCommand())
//CAD交互代码,例如选择对象等
     CompleteEditorCommand();  
//完成交互模式,回到对话框
      else
     CancelEditorCommand();  //交互出现某种错误,直接退出对话框
}
直接从CDialog派生也可实现,我试过,但没有CAD这个的效果好.
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-6-2 00:16 , Processed in 0.373880 second(s), 64 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表