使用 SendCommand 后更新图形时出现问题
嗨,我是新来的,想寻求一个问题的帮助,我有一个上面有几个按钮的表单。单击第一个按钮时,会调用一个子程序,在该子程序中,我使用SendCommand和pedit将指定图层上的所有对象更改为多段线,并将它们连接成更长的多段线。如果我现在关闭表单,一切正常,但如果不是关闭表单,而是单击表单上的另一个按钮,新调用的sub中的动作执行正常,但当我现在关闭表单时,折线尚未创建。(第二个sub只绘制了几个对象,3条线和一个圆)
同样,当我执行这一系列事件时,第二个按钮在绘制对象之前必须单击三次。但是如果我颠倒单击按钮的顺序,绘制对象的按钮只需单击一次就可以绘制对象,折线也就创建好了。
用户将决定是否单击任何一个按钮,并且操作之间没有逻辑联系。所以我不能禁用其中一个按钮,直到另一个被点击。
在我看来,在创建折线之前发送pedit命令并关闭表单是有联系的,但我不知道是什么。您可以在表单关闭后看到正在创建和平滑的多段线。我已经尝试过更新活动文档,并在发送pedit命令后直接发送regen命令,但都没有效果。
有人知道我做错了什么或没做什么吗?本
**** Hidden Message ***** 如果可能,请避免发送命令 感谢CmdrDuh,我通常这样做,但有没有更好的方法来收集所有的线,弧和折线,将它们转换成折线,然后将它们连接成更长的折线?我想不出一个。 pedit可能必须按照您的方式完成,除非,而且它是一个巨大的除非,您抓取ents,存储点,并动态擦除/重绘几何。
顺便说一句,我试图解决sendCommand同步问题的一种方法是将发送命令放在它自己的函数中,这样您的程序就会“暂停”,而另一个函数完成,完成后,焦点返回到您的主程序。不是很优雅,但它确实有效。 另外,当第一个按钮工作完成时,您是否隐藏了表单?当您按下导致问题的其他按钮时,表单具有焦点可能会有一些问题。您可能能够通过抛出隐藏和显示来解决这个问题。 我发布了一个用于polylinejoin的vba函数,该函数运行良好<在这里搜索。 谢谢CmdrDuh,我没有想过隐藏表单,因为没有用户输入,我看不出其中的意义。但是我一定会试一试,然后给你回复。
Bryco,我在Lilly_Pond中找到了一个PolylineJoin.txt文件,如果你指的是这个文件的话。但是标题里没有作者的名字。如果是你的,我会在信头写上你的名字。
谢谢各位。 嗨,CmdrDuh,
这就对了。在按钮点击事件的代码中,我隐藏了窗体,调用了sub,并在sub完成且一切正常时再次显示了窗体。我试着在潜艇里隐藏和显示这个表单,但是没用。
同样受到影响的其他代码现在也工作正常。
非常感谢CmdrDuh,小事情有时比大事情更有问题,也不那么明显。 很高兴它奏效了。 欢迎来到Swamp Ben!
页:
[1]
2