[原创]Vlisp动态创建VBA窗体
<p>Vlisp动态创建VBA窗体,VBA窗体的创建完全由Vlisp代码完成,不需要加载或创建VBA工程</p><p> </p> 本帖最后由 作者 于 2009-9-16 23:07:46 编辑 <br /><br /> <p> </p> 本帖最后由 作者 于 2009-9-17 10:31:38 编辑 <br /><br /> <p>提供动态接口给Lisp调用(生成+控制+数据获取)</p><p>我提供一份程序源码 有兴趣的朋友可以看看</p> 动态调用,工作量相对要小很多,灵活性较好,但要结合VBA的属性、方法,与Vlisp配合使用,通用函数已经初步实现,但不够傻瓜化,有待改善 不太会论坛的上传图片功能 <p>只作为娱乐性的研究还可以</p><p>实用的话是没办法了</p><p>因为lisp用户实在不好把握每个控件的位置和大小</p><p>设计的难度要高于DCL编码</p><p>还必须懂VBA 因为里面的触发函数都要自己写....</p> <p>既然是动态创建VBA窗体,前提条件肯定是会用VBA</p><p>DCL设计也要确定每个控件的位置和大小,同样也要写触发函数,先写DCL文件,加载,删除文件</p><p>动态VBA窗体属性可以先在VBA中设计好窗体,各属性的取值也就轻而易举了,</p><p>还有一点,通过VLISP也可以玩转VBA</p> <p>这样仅是等同于把DVB装进Lisp里面,而且VBA代码没有安全性。</p><p>还是用(Vlax-Get (Vlax-Get-Acad-Object) 'VBE)进行的操作。</p><p>(command "vbanew")</p><p>(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" )</p><p>(command "vbaide")</p><p>如果能用VB做动态链接库,提供类似CAD那样的对象模型,</p><p>封装VB窗体的创建、操作、事件等功能</p><p>让Lisp通过接口调用,就能够让Lisp开发者更容易接受。</p><p> </p>
页:
[1]
2