VB应用程序中用DDE功能开发AutoCAD for Windows
2008-02-23 06:54:18来源:互联网 阅读 ()
一、直接利用DDE功能开发
DDE是Windows的强大功能之一,它可以使应用程序自动地接收由其它应用程序发送来的数据,当传送端的数据有变化时,接收端的数据也会随之改变,也可将命令或键盘输入传递给其它程序,实现远程控制。
在VB编程环境中,创建应用程序的方法很简单,首先是设计用户界面,也就是在空白窗体中放入所需要的控件,如命令按钮,单选钮,文本框,标签,图片框等,然后针对各控件上要发生的事件(如鼠标单击,鼠标移动等)书写事件过程,最后将编写的应用程序运行,调试,生成执行文件即可。VB中能和其它Window应用程序建立DDE通道的控件有文本框,标签和图片框。下面结合简单实例,说明VB应用程序与AutoCAD间建立DDE通道和交换数据的方法。
在VB中启动一个新项目,参见图(1)建立窗体,其中“建立链接”,“直线”,“标注”,“退出”为命令按钮,标有“Text1”的为文本框,用于建立DDE通道,并输入下面的事件代码。
Option Explicit
Private Sub cmdLine_Click() '画直线
Text1.LinkExecute " [^3^3line 3,3 8,8 ^3]"
End Sub
Private Sub cmdText_Click() '标注文字
Text1.LinkExecute " [^3^3text 10,10 1 90 AUTOCAD!^10]"
End Sub
Private Sub cmdLink_click() '建立链接
Text1.LinkMode = 0
Text1.LinkTopic = "autocad.dde|system"
Text1.LinkMode = 2
End Sub
Private Sub cmdExit_click() '退出
End
End Sub
运行此应用程序,注意在运行前,一定要先加载AutoCAD。单击“建立链接”按扭,cmdLink_Click()过程被执行,执行时设置文本框Text1的LinkTopic和LinkMode的属性,完成VB应用程序与AutoCAD间DDE通道的建立。LinkTopic属性用于通知AutoCAD由谁来提供数据,它被管道符“|”分成两部分,第一部分“AutoCAD.DDE”为应用程序名,第二部分“System”是通讯的主题。LinkMode属性用于切实建立链接,在LinkMode=0时,表示关闭以前的DDE通道,在LinkMode=2时,表示以手动模式激活DDE通道。
在完成DDE链接后,VB应用程序就可以与AutoCAD间进行数据交换或命令传送了。单击“直线”按扭,cmdLine_Click()过程被执行,应用程序通过LinkExecute方法向AutoCAD发送命令,在AutoCAD中以点(3,3)和(8,8)为端心,画一条直线。语句中的^3相当于AutoCAD中的取消键Ctrl C,空格相当于AutoCAD中的回车键。单击“标注”按扭,执行cmdText_Click()过程,可在AutoCAD中显示以(10,10)为基点,高为1,旋转角度为90的字符串“AutoCAD!”。语句中的^10相当于AutoCAD中的回车键,在标注文字时不能用空格代替回车键。
根据需要,可用上面的方法传送AutoCAD的其它命令,实现对AutoCAD的开发。
二、通过调用VB ADS开发
上面介绍了在VB应用程序中直接利用DDE与AutoCAD作用实现开发的方法,此方法要求用户自己建立与AutoCAD间的DDE通道,此外,我们还可以通过调用VB ADS函数对AutoCAD进行开发。在VB ADS函数库中已有专门的函数负责建立应用程序与AutoCAD间的DDE通道,而不需用户亲自建立,较为方便。另外,VB应用程序还可以通过VB ADS函数向AutoCAD发送数据和命令,同时也可以利用VB ADS函数的返回值来获得AutoCAD的数据,实现对AutoCAD更深入的开发。
为了利用AutoCAD的VB ADS函数建立VB的应用程序,AutoCAD提供了几个VB ADS支撑文件,这些文件除DDEBAS.EXE和ACADVB.DLL存放在C:\ACADWIN子目录外,其余都存放在C:\ACADWIN\VB\NEW子目录中。文件如下:
1. DDEBAS.EXE-ADS/DDE服务者,为保证VB于AutoCAD 间正常通信,此命令必须首先在AutoCAD中用XLOAD命令加载运行。
2. ACADVB.DLL-VB ADS动态连接库,在运行VB应用程序前,应将其拷到C:\WINDOWS\SYSTEM\子目录下。
3. GLOBAL.BAS-VB ADS应用程序中所需要使用的全局变量定义文件。
4. ADSFUNCS.BAS-VB ADS函数库,可以在VB应用程序中直接调用。
5. ADSFUNCS.FRM-包含有应用程序和AutoCAD间建立DDE链接的窗体文件。 下面结合具体的例子,说明利用VB ADS函数开发应用程序的方法。 [HJ] 启动VB,打开C:\ACADWIN\VB\NEW\NEWPROJ.MAK项目文件,参见图 [2]建立新窗体,并输入如下的事件代码。
Option Explicit
Private Sub Form_Load()
DDE_TIMEOUT = -1 '等待DDE事件
txtX.Text = 5 '圆心,半径的隐含值
txtY.Text = 5
txtRadius = 3
End Sub
Private Sub cmdCircle_Click() '画圆过程
Dim ret As Integer
Dim pt As ads_point '定义Ads点类型
Dim Radius As Double
Dim Apndll As ApndLLType '定义增加链表类型
Dim Resbuf As ResbufType '定义结果缓冲器
pt.X = val(Trim(txtX.Text)) '给圆心,半径赋值
pt.Y = val(Trim(txtY.Text))
Radius = val(Trim(txtRadius.Text))
ret% = ads_newrb(10, Resbuf) '建立新的结果缓冲器
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- VB应用程序中用DDE功能开发AutoCADforWindows 2018-06-17
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash