ilovehuizi 发表于 2004-9-21 12:09:00

向郑老师请教个问题。、

郑老师 你好,由于专业需要开发一个简单的本专业小软件。我昨天买了一本你和其他同志编写的 AUTOCAD VAB开发精彩实例教程,但是没有关于事件处理方面的。


       我现在在cad窗口上加了一个工具栏,当点击其中一个工具栏按钮时,在绘图窗口单击后,画出一个圆(在我们专业叫作节点)。以上步骤我可以实现。现在我想在画出一个圆后,自动弹出一个(数据库)对话框,用来输入和 该圆(节点)相关的数据(比如节点流量等),以便我在其他程序中使用这些数据。


        请问如何实现?能否用objectadded事件实现? 希望给一个简单例子。


小弟在此 先谢了!~~

雪山飞狐_lzh 发表于 2004-9-21 12:26:00

你为什么不另编一个宏画节点?


尽量不要用事件做

ilovehuizi 发表于 2004-9-21 13:50:00

请问斑竹,我如果另外编写一个宏,用来输入和前一步点击按钮画出的圆(节点)相关的数据。怎样才能实现 我把圆(节点)画好后,自动弹出我用来输入数据的数据库窗体呢? 即,怎样调用我另编的一个宏呢?


请斑竹 详细解释一下 可以吗? 多谢

nxy_918 发表于 2004-9-21 14:06:00

你的意思是园用手工画的,而不是程序自动画的吗?

ilovehuizi 发表于 2004-9-21 14:10:00

圆(节点)是程序画的,是通过我添加的工具栏,点击按钮后画的。

ilovehuizi 发表于 2004-9-21 14:17:00

我现在就是需要实现,把我画好的节点(圆)和与它相关的数据 (比如节点流量,压力,这些数据需要我画好圆后 输入的)用数据库保存起来。


               然后用其它程序对数据库中的数据进行工程计算,把计算的结果中需要在cad图形中显示的部分,在用程序标注出来。


由于一般工程节点数量比较多,标注比较麻烦,所以 我就想自己做一个程序来完成。


       


请斑竹 或明经论坛各位高手给个思路 小弟先谢了!

雪山飞狐_lzh 发表于 2004-9-21 14:41:00

调用另外一个宏,直接在代码里用Call



sub mysub1()


.......


mysub2()


end sub


sub mysub2()


.......


end sub


另,你不需要调用另外一个宏呀,只用UserForm1.show

ilovehuizi 发表于 2004-9-21 15:58:00

如果直接在画圆代码后,添加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) &amp; Chr(3) &amp; "-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>

雪山飞狐_lzh 发表于 2004-9-21 16:01:00

一般的执行顺序是先show窗体再找点画图

ilovehuizi 发表于 2004-9-21 16:29:00

谢谢斑竹的及时回复,请问一下,如果下show窗体,怎么在窗体不隐藏的情况下(就是 使窗体象cad工具栏一样 停在绘图屏幕上),在cad图形窗口中选点画图?
页: [1] 2 3
查看完整版本: 向郑老师请教个问题。、