马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
设计思路:
给每个控件定义特定的性质,再由程序去根据不同的性质来处理数据,对话框关闭后可以从总数据表中抽取数据进行进一步的运算。作为实例,现在处理edit_box toggle radio_button button四种控件。
总体数据表*DCL-DATA*格式为
(控件key值 (0 。空间类型)(1 。首次进入对话的缺省值)(2 。可能的更多数据表如表内容等)(3 。控件为真时变灰的其他控件)
edit_box
("EnterValue" (0 . "edit_box")(1 . "12.0") (2 . ":REAL"))
2项: 表示输入文本框内的数据类型: ":REAL" ":INT",如果为任意文本,没有2项
toggle
("ToggleEnter" (0 . "toggle")(1 . "0") (3 . (list "accept" "help" "orthers")))
3项:表示ToggleEnter为1时需要变灰的控件列表,
2项:因为只能为1或0,所以没有定义2项
radio_button
("RadioMain" (0 . "radio_button")(1 . "Radio1") (2 . (list "Radio1" "Radio2" "Radio3"))
(3 . (list "Radio1" "Radio3") (list "accept" "help" "orthers"))\
)
对于radio_button,只需要定义其上级控件key值,所有属于一个主控件的所有radio_button的key值列表在2项
3项:共分为两部分,第一部分为radio_button的key值列表,表示选定这些key值时需要将第二部分的控件列表变灰。
button
("Button" (0 . "button")(1 . -1) (2 . "(Action_PickButton)"))
1项:表示Done_dialog ID值,如果对话框不关闭,为任意负整数
2项:表示相对应得操控函数,自己加变量(变量的传递要再设计)
LISP/DCL codes
|