乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 165|回复: 9

向郑老师请教个问题。、

[复制链接]

5

主题

19

帖子

1

银币

初来乍到

Rank: 1

铜币
39
发表于 2004-9-21 12:09:00 | 显示全部楼层 |阅读模式
郑老师 你好,由于专业需要开发一个简单的本专业小软件。我昨天买了一本你和其他同志编写的  VAB开发精彩实例,但是没有关于事件处理方面的。
         我现在在cad窗口上加了一个栏,当点击其中一个工具栏按钮时,在绘图窗口单击后,画出一个圆(在我们专业叫作节点)。以上步骤我可以实现。现在我想在画出一个圆后,自动弹出一个(数据库)对话框,用来输入和 该圆(节点)相关的数据(比如节点流量等),以便我在其他程序中使用这些数据。
        请问如何实现?能否用objectadded事件实现? 希望给一个简单例子。
小弟在此 先谢了!~~
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2004-9-21 12:26:00 | 显示全部楼层
你为什么不另编一个宏画节点?
尽量不要用事件做
回复

使用道具 举报

5

主题

19

帖子

1

银币

初来乍到

Rank: 1

铜币
39
发表于 2004-9-21 13:50:00 | 显示全部楼层
请问斑竹,我如果另外编写一个宏,用来输入和前一步点击按钮画出的圆(节点)相关的数据。怎样才能实现 我把圆(节点)画好后,自动弹出我用来输入数据的数据库窗体呢? 即,怎样调用我另编的一个宏呢?
请斑竹 详细解释一下 可以吗? 多谢
回复

使用道具 举报

31

主题

129

帖子

5

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
253
发表于 2004-9-21 14:06:00 | 显示全部楼层
你的意思是园用手工画的,而不是程序自动画的吗?
回复

使用道具 举报

5

主题

19

帖子

1

银币

初来乍到

Rank: 1

铜币
39
发表于 2004-9-21 14:10:00 | 显示全部楼层
圆(节点)是程序画的,是通过我添加的工具栏,点击按钮后画的。
回复

使用道具 举报

5

主题

19

帖子

1

银币

初来乍到

Rank: 1

铜币
39
发表于 2004-9-21 14:17:00 | 显示全部楼层
我现在就是需要实现,把我画好的节点(圆)和与它相关的数据 (比如节点流量,压力,这些数据需要我画好圆后 输入的)用数据库保存起来。
                 然后用其它程序对数据库中的数据进行工程计算,把计算的结果中需要在cad图形中显示的部分,在用程序标注出来。
由于一般工程节点数量比较多,标注比较麻烦,所以 我就想自己做一个程序来完成。
        
请斑竹 或乐筑天下论坛各位高手给个思路 小弟先谢了!
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2004-9-21 14:41:00 | 显示全部楼层
调用另外一个宏,直接在代码里用Call sub mysub1()
.......
mysub2()
end sub
sub mysub2()
.......
end sub
另,你不需要调用另外一个宏呀,只用UserForm1.show
回复

使用道具 举报

5

主题

19

帖子

1

银币

初来乍到

Rank: 1

铜币
39
发表于 2004-9-21 15:58:00 | 显示全部楼层
如果直接在画圆代码后,添加userform1.show
这样在弹出窗口userform1后,图形窗口还没能显示画出的圆,按程序执行顺序来讲,应该是先在屏幕画个圆,然后再弹出窗口userform1?
比如下面代码,运行时 就是先显示userform1窗体,而且只有当关闭userform1窗体时,才在屏幕上出现了画的直线。
Sub addtoolbar()
Dim currmenugroup As AcadMenuGroup
Set currmenugroup = ThisDrawing.Application.MenuGroups.Item(0)
'创建一个名称为mytoolbar的工具条
Dim newtoolbar As AcadToolbar
Set newtoolbar = currmenugroup.Toolbars.Add("mytoolbar2")
'给新工具条添加按钮
Dim newbutton As AcadToolbarItem
Dim openmacro         As String
'给宏赋值
openmacro = Chr(3) & Chr(3) & "-vbarun" + Chr(32) + "thisdrawing.drawline" + Chr(32)
Set newbutton = newtoolbar.AddToolbarButton("", "newbutton", "draw a line.", openmacro)
End Sub
Sub drawline()
Dim pt1(0 To 2) As Double, pt2(0 To 2) As Double
pt1(0) = 100
pt1(1) = 100
pt1(2) = 0
pt2(0) = 500
pt2(1) = 500
pt2(2) = 0
ThisDrawing.ModelSpace.AddLine pt1, pt2
UserForm1.Show
End Sub
我现在不知道 如何先显示画出的直线,然后在显示userform1窗体。
请 斑竹 和乐筑天下高手 指点。小弟先谢了~
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2004-9-21 16:01:00 | 显示全部楼层
一般的执行顺序是先show窗体再找点画图
回复

使用道具 举报

5

主题

19

帖子

1

银币

初来乍到

Rank: 1

铜币
39
发表于 2004-9-21 16:29:00 | 显示全部楼层
谢谢斑竹的及时回复,请问一下,如果下show窗体,怎么在窗体不隐藏的情况下(就是 使窗体象cad工具栏一样 停在绘图屏幕上),在cad图形窗口中选点画图?
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-16 05:31 , Processed in 0.463999 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表