明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2646|回复: 8

如何捕获列表框(list_box)的双击操作

[复制链接]
发表于 2003-2-10 09:26:00 | 显示全部楼层 |阅读模式
在列表框中单击用action_tile可以捕获,如果在DCL文件中有设is_default按钮,双击可执行is_default按钮。
现我在一个对话框中有两个(或两个以上)list_box,我需在双击不同的列表后执行不同的程序来处理,怎样才能实现呢?
如果不设is_default,怎样捕获双击操作。
发表于 2003-2-10 14:38:00 | 显示全部楼层

Have you ever tried to use the CAllBACK REASON in (Action Tile..)?

点评

eii
楼主太逗了,英文水平一定很棒!  发表于 2019-12-22 22:23
 楼主| 发表于 2003-2-11 18:10:00 | 显示全部楼层

能不能打中文啊,英文看不懂。

发表于 2003-2-11 19:10:00 | 显示全部楼层

利用“回调原因”即 callback reason 这个变量确定你执行了什么操作。

在edit_box,list_box,image_button,slider中,有一个$reason变量,用来
表示你执行了什么操作,对应的变量值的含义你可以参考帮助。
在list_box中,双击的变量值是4。你可以在你的代码中加入判断
(action_tile "listbox" "(function1).....")
(defun function1()
(if (= $reason 4)
   (expression.....)
   )
  )
这样就可以执行你的代码了。
 楼主| 发表于 2003-2-13 08:33:00 | 显示全部楼层

谢谢,可以使用。为什么CAD帮助文件没有这个变量呢?

不知大侠是如何知道这个变量呢?是否有什么高级之类的书有介绍,我从CAD的帮助文件中及一些Vlisp编程教学书中都没有找到这个变量。(Vlisp介绍数据与其它程序共享的书都很少)
发表于 2003-2-13 09:34:00 | 显示全部楼层

有的

帮助文件中(VLISP的帮助文件)
AUTOLISP 开发人员手册

第十二章 -- 管理对话框

动作表达式与回调

  回调原因
发表于 2003-2-13 17:52:00 | 显示全部楼层

就在Acad的帮助中就有很全面的介绍,我就是看帮助学习的。帮助文件是个好东东。

发表于 2003-2-14 12:30:00 | 显示全部楼层

应该留意双击事件之前是单击事件。

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

本版积分规则

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

GMT+8, 2024-11-26 05:23 , Processed in 0.177449 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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