明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2002|回复: 9

用vba的selectonscreen时使用缩放、平移命令会中断vba的选择,痛苦

[复制链接]
发表于 2003-4-18 19:50 | 显示全部楼层 |阅读模式
写一个代码如下的程序(大致意思如下),
public sub main()
   set objsets = thisdrawing.selectsets
   set objset = objsets.add("kkk")
   objset.selectonscreen
msgbox objset.count
objset.clear
objset.delete
end sub
当我想多选择些实体时,用了pan,zoom,结果在命令行出现了*取消*
版主,我知道您是一个好人,也许您不是第一次回答这个问题,但...
发表于 2003-4-18 20:10 | 显示全部楼层

我把你的程序这样修改,你试运行一下,看看怎么样?

public sub main()
on error goto err
   set objsets = thisdrawing.selectsets
   set objset = objsets.add("kkk")
   objset.selectonscreen
msgbox objset.count
objset.clear
objset.delete
exit sub
err:
resume
end sub
发表于 2003-4-18 21:27 | 显示全部楼层

还不行

我发现在用selectonscreen时使用一些透明命令pan,zoom时不会产生错误来触发错误机制,如果按你的意思的话,那么程序用了pan之后将继续执行后面的语句,而不能再继续选择,程序也变得没有任何意义(只要用了别的命令,选择集的count属性都成了0),
发表于 2003-4-18 21:46 | 显示全部楼层

我下线帮你再调试一下,好了帖上来!

发表于 2003-4-18 22:41 | 显示全部楼层

在2002及以下版本这个问题是解决不了的,但如果你是2004版,就不会出现这些问题

 楼主| 发表于 2003-4-18 22:57 | 显示全部楼层

版主,你的话太打击我的积极性了,还有一个问题

版主,你的话太打击我的积极性了,上天为什么对我如此不公,刚改用vba就受到这个挫折,那我问问版主,如果你碰到了,怎么办啊,换语言?其实我得vlisp还好一些,但就是因为这个程序要有一些界面,难道非要学dcl,
还有一个问题,就是在用vba是,插入的textbox控件前总有几个字符的空位
这样看起来感觉不好,怎么解决的,
真的非常感谢我们的版主和我的同行myfreemind
thanks
发表于 2003-4-18 23:31 | 显示全部楼层

这应该是AutoCAD的BUG,而且由于没有可捕获的出错信息,故无法判断

由于它无法保持原来选定的对象,所以用什么方法都无法找回刚刚选定的对象。
解决方法可能要在选定对象前提示用户。
而对于文本框中的空白,因为它只是空白,而不是空格,也是没办法解决的(真对不起,你提的两个问题都不无法解决的)
发表于 2003-4-18 23:37 | 显示全部楼层

Taoyimaier,版主说的对,可能真的是版本的问题!

我晚上调试了一下,也确实怎么搞都没有办法,因为好象VBA对错误的判别比较简单,不同的键产生的错误代码居然一样,我弄的头都大了,呵呵~~~帮不到你真是不好意思~~
 楼主| 发表于 2003-4-18 23:55 | 显示全部楼层

如果真的头都大了,那真不好意思

好了,这个话题就道此为止吧,打算就按你的办法了,提示用户,非常感谢两位的讲解,真是感激的。。。以后有问题再向两位请教
发表于 2003-4-18 23:57 | 显示全部楼层

不用谢~~其实我很喜欢帮人,但就是自己太菜~~呵呵~~

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

本版积分规则

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

GMT+8, 2024-5-5 00:47 , Processed in 1.635361 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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