明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1507|回复: 6

一个复杂的问题,关于对话框与CAD交互

[复制链接]
发表于 2011-1-19 09:14:15 | 显示全部楼层 |阅读模式
本帖最后由 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"文件。

本帖子中包含更多资源

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

x
发表于 2011-1-19 14:06:35 | 显示全部楼层
估计是窗口没有得到焦点.
发表于 2011-1-19 14:13:44 | 显示全部楼层
如果Cad2008、2010没有问题的话,就是2011的bug,有时间测试下
 楼主| 发表于 2011-1-19 14:32:41 | 显示全部楼层
雪山飞狐_lzh 发表于 2011-1-19 14:13
如果Cad2008、2010没有问题的话,就是2011的bug,有时间测试下

谢谢。

2009没问题。
2010没测试过。

希望有时间帮忙看看。
 楼主| 发表于 2011-1-25 14:40:00 | 显示全部楼层
哪位高手给个说法?
发表于 2011-1-25 17:51:33 | 显示全部楼层
你把工程转成VS2008的吧?
 楼主| 发表于 2011-2-11 19:55:23 | 显示全部楼层
本帖最后由 cairunbin 于 2011-2-11 19:56 编辑

回复 雪山飞狐_lzh 的帖子

雪山飞狐:
不好意思,过年期间没上论坛。

我把我的项目转成2008的了。

请你给看看。

谢谢。

本帖子中包含更多资源

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

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 22:59 , Processed in 0.187934 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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