明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3522|回复: 19

[讨论][求助]Visual LISP不可能办到的对话框,可却有人办到啦

  [复制链接]
发表于 2007-12-27 00:36 | 显示全部楼层 |阅读模式

如图,lisp的对话框DCL根本就没有这个控件,如何能办到呢?

我保证他是用lisp做到的..高手支招吧

本帖子中包含更多资源

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

x
发表于 2007-12-27 08:13 | 显示全部楼层
估计是用C++开发,编译为arx文件,在lisp中调用。
发表于 2007-12-27 08:40 | 显示全部楼层
用OPENDCL就可以,非常简单。
 楼主| 发表于 2007-12-27 18:19 | 显示全部楼层
我都说了是纯lisp写的,也不是用opendcl写的.
发表于 2007-12-27 20:33 | 显示全部楼层

对话框可能不是用CAD的DCL编写的吧?

发表于 2007-12-28 07:55 | 显示全部楼层
你是如何保证他只用了LISP*DCL做到的呢?

是因为你有原码? 还是因为看到只有一个.VLX文件?

.ODCL文件可以编译到.VLX文件当中的!
发表于 2007-12-28 12:11 | 显示全部楼层

重叠的对话框控件

通过mode_tile可以控制显示

我刚才试了一下

能够实现控制重叠控件的先后显示

 楼主| 发表于 2007-12-28 19:21 | 显示全部楼层
colder发表于2007-12-28 7:55:00你是如何保证他只用了LISP*DCL做到的呢?是因为你有原码? 还是因为看到只有一个.VLX文件?.ODCL文件可以编译到.VLX文件当中的!

我没有源码,我说我证明是lisp写的,是这样做的,可能是我的证词不足吧.

1、我只加载了VLX文件,就得到这样的对话框,可以证明不是ARX函数写的。

2、我在使用时,有次发现对话框的页面上那个方形选择框,可以复选,就是说,同时两个都打钩。

3、如果是opendcl做的,没有必要加入那个复选框吧。下面贴个opendcl的类似对话框。

是的,opendcl的文件是可以加入到.VLX,但好像这个opendcl运行时,必需加载它的函数文件(openDCL.16.arx),这样说来,opendcl还是用ARX写的,我对opendcl不懂,请问,是这样吗?

 是的,opendcl的文件是可以加入到.VLX,但好像这个opendcl运行时,必需加载它的函数文件(openDCL.16.arx),这样说来,opendcl还是用ARX写的,我对opendcl不懂,请问,是这样吗?

但我去查了,根本就没有加载别的任何外挂的ARX,请问这些可以证明是lisp写的吗?

我尝试过用类似的方法实现这个功能,就是把它分成三个对话框,如dcl1,dcl2,dcl3这三个对话框.

当购选第一个复选框时,加载第一个dcl1,点第二个复选框时,加载第二个dcl2.....

但这样不能做出分页对话框的效果,功能倒是可以实现..

传个图看看...

我不是在此证明给大家看什么,只是想大家讨论,用autocad的dcl可以做分页对话框吗?

就算看到这个,我只能相信,是可以做的,就不知道用什么方法,用常规dcl定不行的。

如果不是看到论坛里,下面这个代码,呵呵,我还不知道lisp可以有这样的消息对话框。

我能力就这么一点点,所以啦,大家论坛吧。。。

;;函数名:mc_PopupBox
;|函数功能:弹出可定时自动关闭的消息窗口
  作者:明经通道mccad
  参数:strText:消息窗口的文字内容
        intWaitTime:弹出窗口显示的时间,按秒计算
        strTitle:消息窗口的标题
        intDispType:窗口显示的样式,包括按钮和图标,具体如下:
  按钮类型 0. 显示“确定”按钮                      1. 显示“确定”和“取消”按钮
           2. 显示“终止”、“重试”和“忽略”按钮  3. 显示“是”、“否”和“取消”按钮
           4. 显示“是”和“否”按钮                5. 显示“重试”和“取消”按钮
  图标类型 16 显示停止标记图标  32 显示问号图标
           48 显示感叹号图标    64 显示信息标记图标
  返回值:指示用户所单击的按扭编号。若用户在 intWaitTime 秒之前不单击按扭,则 返回值为 -1 。
  1. “确定”按扭 2. “取消”按扭 3. “终止”按扭 4. “重试”按扭 5. “忽略”按扭 6. “是”按扭 7. “否”按扭
示例
(defun c:mcbox()
  (mc_PopupBox "明经通道欢迎你"  2  "明经通道函数示例"  64)
)
|;
(defun mc_PopupBox (strText intWaitTime strTitle intDispType)
  (vlax-invoke-method (vlax-create-object "wscript.shell") 'Popup strText  intWaitTime strTitle intDispType)
)

本帖子中包含更多资源

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

x
发表于 2007-12-28 19:56 | 显示全部楼层

是 opendcl 沒錯你去下載軟體裝起來看看裡面的範例就知道了~

发表于 2007-12-28 19:59 | 显示全部楼层

是 opendcl 沒錯你去下載軟體裝起來看看裡面的範例就知道了~

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

本版积分规则

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

GMT+8, 2024-5-2 15:42 , Processed in 0.312170 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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