明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1371|回复: 5

对话框如何进行快捷输入?

[复制链接]
发表于 2005-1-11 19:12:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2005-1-11 23:22:31 编辑


            对话框如何进行快捷输入?   有如下的对话框
gxdata : dialog {
label = "管线数据输入对话框";
: boxed_column {
label = "输入提示(&T)";
:text { label = "1探测点 2阀门井 3消防栓 4消防井 5水表井"; }
} : edit12_box {
label = "附属物:";
key = "qdfsw";
edit_width = 15;
}
ok_cancel_help_errtile;
}   现在在附属物栏内要选择性地输入“探测点、阀门井、消防栓、水表井”等,也许还有“水源井...”,故用下拉性列表框是不太合适的(未穷尽所有选择项目), 现在如何按输入提示,按1时快速地输入“探测点”,按2时输入“阀门井”......
请各位支持,帮我出出主意。谢谢!
发表于 2005-1-12 09:27:00 | 显示全部楼层
输入后需要有一个动作,如:输入“1”后,回车,或把焦点移到别的控件 (defun c:test( / dcl_id)
(setq dcl_id (load_dialog "tmp.dcl"))
(new_dialog "gxdata" dcl_id)
(action_tile "qdfsw" "(Actqd)")
(start_dialog)
(unload_dialog dcl_id)
(princ)
) (defun Actqd( / lst ET)
(setq lst '("探测点" "阀门井" "消防栓" "消防井" "水表井"))
(setq ET (get_tile "qdfsw"))
(if (and (= (type (read ET)) 'INT) (<= (read ET) (length lst)))
(progn
(setq ET (read ET))
(set_tile "qdfsw" (nth (1- ET) lst))
)
)
)
 楼主| 发表于 2005-1-12 13:12:00 | 显示全部楼层
也许还有“水源井...”,(未穷尽所有选择项目),


现在要输入列表外的项目如“水源井”如何处理?
发表于 2005-1-12 15:15:00 | 显示全部楼层
在编辑框里输入“水井源”不就可以了吗?


如果在提示以外输入编号就没有意义了,因为没有人知道哪个编号对应哪个文本。。。


如果你是给自己用,可以在(setq lst '("探测点" "阀门井" "消防栓" "消防井" "水表井"))这个表里面添加你要的。。。。。。。


给你写一个程序,你应该看懂它才对,就像上面这个问题,即使不懂LISP的,也可能会猜到是这里添加新的项
 楼主| 发表于 2005-4-21 07:25:00 | 显示全部楼层
人太笨了, Command: !qdfsw
nil  为何不是"消防栓"之类
发表于 2005-4-21 08:23:00 | 显示全部楼层
!qdfsw是查看变量的值,而程序中的qdfsw是对话框中控件的关键字,怎么可以这样认为?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-17 07:53 , Processed in 0.173153 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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