一个复杂的问题,关于对话框与CAD交互
本帖最后由 cairunbin 于 2011-1-19 09:19 编辑我有一段程序,在AutoCAD2009下运转正常,但是编译到2011下就会出问题。
具体情形如下:
我先利用Application.ShowModelessDialog函数显示一个非模式对话框A,
然后,点击对话框中的一个按钮,
该按钮首先隐藏对话框A,然后,利用DocumentCollection.Open函数打开一个新的DWG文件。
然后,我的程序再利用Application.ShowModalDialog函数打开一个模式对话框B。
在对话框B中有一个按钮,这个按钮调用Editor.GetPoint函数与CAD进行交互,在屏幕上获取一个点位。
现在的问题是,这样的程序,在autocad2009下正常,但是在2011下却有问题。
GetPoint函数运行的时候,虽然在AutoCAD中也出现了选择点的十字光标,但是却不能进入选择点位的状态。此时CAD好像处在idle状态下,当用户在十字光标状态下点击待选点位的时候,CAD会提示用户输入下一个对角点。就像当CAD处于idle状态时,在屏幕上点击一点,则会提示你输入另外一个角点。
这时候,如果用户按下Esc键,退出选择点模式,复现对话框B,然后,再点击B中的按钮,则一切正常了。
每次启动AutoCAD以后,不正常状况只出现一次。也就是说,如果我们运行过一次上述程序,退出后,再次运行该程序,一切都是正常的。
这个问题真的好令人费解。
希望大侠们予以关注,给予解答。
谢谢。
代码在附件中。项目是vs2010的。在vs2008下编辑,也是一样有问题。
加载dll后,运行MyCommand命令。但首先要在c盘根目录下创建一个"1.dwg"文件。
估计是窗口没有得到焦点. 如果Cad2008、2010没有问题的话,就是2011的bug,有时间测试下 雪山飞狐_lzh 发表于 2011-1-19 14:13 static/image/common/back.gif
如果Cad2008、2010没有问题的话,就是2011的bug,有时间测试下
谢谢。
2009没问题。
2010没测试过。
希望有时间帮忙看看。 哪位高手给个说法? 你把工程转成VS2008的吧? 本帖最后由 cairunbin 于 2011-2-11 19:56 编辑
回复 雪山飞狐_lzh 的帖子
雪山飞狐:
不好意思,过年期间没上论坛。
我把我的项目转成2008的了。
请你给看看。
谢谢。
页:
[1]