明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 6217|回复: 16

[原创]Vlisp动态创建VBA窗体

  [复制链接]
发表于 2009-9-16 08:57:00 | 显示全部楼层 |阅读模式

Vlisp动态创建VBA窗体,VBA窗体的创建完全由Vlisp代码完成,不需要加载或创建VBA工程

 

 楼主| 发表于 2009-9-16 08:59:00 | 显示全部楼层
本帖最后由 作者 于 2009-9-16 23:07:46 编辑

 

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2009-9-16 09:57:00 | 显示全部楼层
本帖最后由 作者 于 2009-9-17 10:31:38 编辑

提供动态接口给Lisp调用(生成+控制+数据获取)

我提供一份程序源码 有兴趣的朋友可以看看

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2009-9-16 12:38:00 | 显示全部楼层
动态调用,工作量相对要小很多,灵活性较好,但要结合VBA的属性、方法,与Vlisp配合使用,通用函数已经初步实现,但不够傻瓜化,有待改善
 楼主| 发表于 2009-9-16 13:33:00 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2009-9-16 13:41:00 | 显示全部楼层
不太会论坛的上传图片功能
 楼主| 发表于 2009-9-16 21:22:00 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2009-9-16 23:42:00 | 显示全部楼层

只作为娱乐性的研究还可以

实用的话是没办法了

因为lisp用户实在不好把握每个控件的位置和大小

设计的难度要高于DCL编码

还必须懂VBA 因为里面的触发函数都要自己写....

 楼主| 发表于 2009-9-17 08:37:00 | 显示全部楼层

既然是动态创建VBA窗体,前提条件肯定是会用VBA

DCL设计也要确定每个控件的位置和大小,同样也要写触发函数,先写DCL文件,加载,删除文件

动态VBA窗体属性可以先在VBA中设计好窗体,各属性的取值也就轻而易举了,

还有一点,通过VLISP也可以玩转VBA

发表于 2009-9-17 10:27:00 | 显示全部楼层

这样仅是等同于把DVB装进Lisp里面,而且VBA代码没有安全性。

还是用(Vlax-Get (Vlax-Get-Acad-Object) 'VBE)进行的操作。

(command "vbanew")

(Vlax-Invoke-Method (Vlax-Get (Vlax-Get (Vlax-Invoke-Method (Vlax-Get (Vlax-Invoke-Method (Vlax-Get (Vlax-Get (Vlax-Get-Acad-Object) 'VBE) 'VBProjects) 'item 1) 'VBComponents) 'item 3) 'Designer) 'Controls) 'Add "forms.CommandButton.1" )

(command "vbaide")

如果能用VB做动态链接库,提供类似CAD那样的对象模型,

封装VB窗体的创建、操作、事件等功能

让Lisp通过接口调用,就能够让Lisp开发者更容易接受。

 

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-9-8 12:28 , Processed in 0.219665 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表