向郑老师请教个问题。、
郑老师 你好,由于专业需要开发一个简单的本专业小软件。我昨天买了一本你和其他同志编写的 AUTOCAD VAB开发精彩实例教程,但是没有关于事件处理方面的。我现在在cad窗口上加了一个工具栏,当点击其中一个工具栏按钮时,在绘图窗口单击后,画出一个圆(在我们专业叫作节点)。以上步骤我可以实现。现在我想在画出一个圆后,自动弹出一个(数据库)对话框,用来输入和 该圆(节点)相关的数据(比如节点流量等),以便我在其他程序中使用这些数据。
请问如何实现?能否用objectadded事件实现? 希望给一个简单例子。
小弟在此 先谢了!~~ 你为什么不另编一个宏画节点?
尽量不要用事件做 请问斑竹,我如果另外编写一个宏,用来输入和前一步点击按钮画出的圆(节点)相关的数据。怎样才能实现 我把圆(节点)画好后,自动弹出我用来输入数据的数据库窗体呢? 即,怎样调用我另编的一个宏呢?
请斑竹 详细解释一下 可以吗? 多谢 你的意思是园用手工画的,而不是程序自动画的吗? 圆(节点)是程序画的,是通过我添加的工具栏,点击按钮后画的。 我现在就是需要实现,把我画好的节点(圆)和与它相关的数据 (比如节点流量,压力,这些数据需要我画好圆后 输入的)用数据库保存起来。
然后用其它程序对数据库中的数据进行工程计算,把计算的结果中需要在cad图形中显示的部分,在用程序标注出来。
由于一般工程节点数量比较多,标注比较麻烦,所以 我就想自己做一个程序来完成。
请斑竹 或明经论坛各位高手给个思路 小弟先谢了! 调用另外一个宏,直接在代码里用Call
sub mysub1()
.......
mysub2()
end sub
sub mysub2()
.......
end sub
另,你不需要调用另外一个宏呀,只用UserForm1.show 如果直接在画圆代码后,添加userform1.show
这样在弹出窗口userform1后,图形窗口还没能显示画出的圆,按程序执行顺序来讲,应该是先在屏幕画个圆,然后再弹出窗口userform1?
比如下面代码,运行时 就是先显示userform1窗体,而且只有当关闭userform1窗体时,才在屏幕上出现了画的直线。
Sub addtoolbar()<BR>Dim currmenugroup As AcadMenuGroup
Set currmenugroup = ThisDrawing.Application.MenuGroups.Item(0)
'创建一个名称为mytoolbar的工具条
Dim newtoolbar As AcadToolbar<BR>Set newtoolbar = currmenugroup.Toolbars.Add("mytoolbar2")<BR>'给新工具条添加按钮<BR>Dim newbutton As AcadToolbarItem<BR>Dim openmacro As String
'给宏赋值<BR>openmacro = Chr(3) & Chr(3) & "-vbarun" + Chr(32) + "thisdrawing.drawline" + Chr(32)
<BR>Set newbutton = newtoolbar.AddToolbarButton("", "newbutton", "draw a line.", openmacro)
End Sub<BR>Sub drawline()<BR>Dim pt1(0 To 2) As Double, pt2(0 To 2) As Double<BR>pt1(0) = 100<BR>pt1(1) = 100<BR>pt1(2) = 0
pt2(0) = 500<BR>pt2(1) = 500<BR>pt2(2) = 0<BR>ThisDrawing.ModelSpace.AddLine pt1, pt2<BR>UserForm1.Show
End Sub
我现在不知道 如何先显示画出的直线,然后在显示userform1窗体。
请 斑竹 和明经高手 指点。小弟先谢了~<BR> 一般的执行顺序是先show窗体再找点画图 谢谢斑竹的及时回复,请问一下,如果下show窗体,怎么在窗体不隐藏的情况下(就是 使窗体象cad工具栏一样 停在绘图屏幕上),在cad图形窗口中选点画图?