FORM中CHECKLIST(CheckBox RadioBox)使用详解
介绍:CHECKLIST共分为两种,一种是checkbox,一种是radiobox。
checkbox为复选框,可同时选择多个选项。
radiobox为单选框,只能同时选中一个选项。
如下图所示:
Radio Box形状为圆形的,每次只能选择一个选项。
Check Box形状为方形,每次可同时选中多个选项。
下图中,在"Radio Box - Mode 1"和"Radio Box - Mode 2"中,只能将一个选项选中,而在"Check Box - Mode 1"中,可任意选中多个选项。
使用方法:
在使用CHECKLIST时,需要定义在在FIELD字段部分通过定义关键字“CHECKLIST”。CHECKLIST "display" ["radioLabel"]CHECKLIST后有两个参数需要定义,"display"为选项的名称,比如上图中的Item1、Item2等,"radioLabel"参数为可选,如果未定义,那么CHECKLIST默认为Check Box模式。如果定义了"radioLabel",那么CHEKCLIST为Radio Box模式,且具有相同"radioLabel"的值的Radio Box,一次只能选中一个选项。
上图中的源码如下:FILE_TYPE=FORM_DEFN VERSION=2
FORM
FIXED
PORT 35 10
HEADER "CheckList Test"
TILE
FIELD Item1
FLOC 5 3
CHECKLIST "Item1" "Mode1"
ENDFIELD
FIELD Item2
FLOC 15 3
CHECKLIST "Item2" "Mode1"
ENDFIELD
FIELD Item3
FLOC 25 3
CHECKLIST "Item3" "Mode1"
ENDFIELD
FIELD Item4
FLOC 5 7
CHECKLIST "Item4" "Mode2"
ENDFIELD
FIELD Item5
FLOC 15 7
CHECKLIST "Item5" "Mode2"
ENDFIELD
FIELD Item6
FLOC 25 7
CHECKLIST "Item6" "Mode2"
ENDFIELD
FIELD Item7
FLOC 5 11
CHECKLIST "Item7"
ENDFIELD
FIELD Item8
FLOC 15 11
CHECKLIST "Item8"
ENDFIELD
FIELD Item9
FLOC 25 11
CHECKLIST "Item9"
ENDFIELD
GROUP "Radio Box - Mode 1"
GLOC 3 1
GSIZE 30 4
ENDGROUP
GROUP "Radio Box - Mode 2"
GLOC 3 5
GSIZE 30 4
ENDGROUP
GROUP "Check Box - Mode 1"
GLOC 3 9
GSIZE 30 4
ENDGROUP
ENDTILE
ENDFORM
这个选中和不选中分别执行命令的代碼能簡單舉例嗎 ;------------------------------;
; Set the TP1 create ;
;------------------------------;
fprintf(myform "## Button Field in FORM ## \n")
fprintf(myform "FIELD TP1\n")
fprintf(myform "FLOC 1 23\n")
fprintf(myform "CHECKLIST\"TP1\" \n")
fprintf(myform "FGROUP \"PBTop\"\n")
fprintf(myform "ENDFIELD \n\n")
如上, 勾選TP1我執行"tp1"
("TP1"
axlVisibleDesign(nil)
axlVisibleLayer("ETCH/TOP" t)
axlVisibleLayer("DRC ERROR CLASS/TOP" t)
axlVisibleLayer("BOARD GEOMETRY/OUTLINE" t)
axlVisibleLayer("MANUFACTURING/PROBE_TOP" t)
axlVisibleLayer("MANUFACTURING/NO_PROBE_TOP" t)
axlVisibleLayer("PACKAGE GEOMETRY/SILKSCREEN_TOP" t)
axlVisibleLayer("PIN/TOP" t)
axlVisibleLayer("VIA CLASS/TOP" t)
axlVisibleLayer("VIA CLASS/FILMMASKTOP" t)
axlVisibleUpdate(t)
;Button Field
;Enter Action Here
)
不勾怎麼定義關閉這些層面 本帖最后由 XYX365 于 2014-1-27 19:08 编辑
mmmmyuitian 发表于 2014-1-23 11:06 static/image/common/back.gif
;------------------------------;
; Set the TP1 create ;
;------------------------------ ...("TP1"
if((myform->curValue then
axlVisibleDesign(nil)
axlVisibleLayer("ETCH/TOP" t)
axlVisibleLayer("DRC ERROR CLASS/TOP" t)
axlVisibleLayer("BOARD GEOMETRY/OUTLINE" t)
axlVisibleLayer("MANUFACTURING/PROBE_TOP" t)
axlVisibleLayer("MANUFACTURING/NO_PROBE_TOP" t)
axlVisibleLayer("PACKAGE GEOMETRY/SILKSCREEN_TOP" t)
axlVisibleLayer("PIN/TOP" t)
axlVisibleLayer("VIA CLASS/TOP" t)
axlVisibleLayer("VIA CLASS/FILMMASKTOP" t)
axlVisibleUpdate(t)
else
axlVisibleLayer("ETCH/TOP" nil)
axlVisibleLayer("DRC ERROR CLASS/TOP" nil)
axlVisibleLayer("BOARD GEOMETRY/OUTLINE" nil)
axlVisibleLayer("MANUFACTURING/PROBE_TOP" nil)
axlVisibleLayer("MANUFACTURING/NO_PROBE_TOP" nil)
axlVisibleLayer("PACKAGE GEOMETRY/SILKSCREEN_TOP" nil)
axlVisibleLayer("PIN/TOP" nil)
axlVisibleLayer("VIA CLASS/TOP" nil)
axlVisibleLayer("VIA CLASS/FILMMASKTOP" nil)
axlVisibleUpdate(nil)
)
;Button Field
;Enter Action Here
) 下下来研究研究,谢谢分享 很好,很强大~ 谢谢分享! 怎么设置默认选项呢? 我需要刚打开form的时候就已经默认选中了 leilei4908 发表于 2015-8-13 10:19
怎么设置默认选项呢? 我需要刚打开form的时候就已经默认选中了
有结果了吗?我也不知道怎么设置的 skny2011 发表于 2016-12-6 13:43
有结果了吗?我也不知道怎么设置的
axlFormSetField(form, field, value)