Cadence Skill 论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 10038|回复: 20

FORM中CHECKLIST(CheckBox RadioBox)使用详解

[复制链接]
发表于 2013-10-8 22:42:46 | 显示全部楼层 |阅读模式
介绍:
CHECKLIST共分为两种,一种是checkbox,一种是radiobox。
checkbox为复选框,可同时选择多个选项。
radiobox为单选框,只能同时选中一个选项。

如下图所示:
checklist.png

Radio Box形状为圆形的,每次只能选择一个选项。
Check Box形状为方形,每次可同时选中多个选项。

下图中,在"Radio Box - Mode 1"和"Radio Box - Mode 2"中,只能将一个选项选中,而在"Check Box - Mode 1"中,可任意选中多个选项。
checklist2.png

使用方法:
在使用CHECKLIST时,需要定义在在FIELD字段部分通过定义关键字“CHECKLIST”。
  1. CHECKLIST "display" ["radioLabel"]
复制代码
CHECKLIST后有两个参数需要定义,"display"为选项的名称,比如上图中的Item1、Item2等,"radioLabel"参数为可选,如果未定义,那么CHECKLIST默认为Check Box模式。如果定义了"radioLabel",那么CHEKCLIST为Radio Box模式,且具有相同"radioLabel"的值的Radio Box,一次只能选中一个选项。

上图中的源码如下:
  1. FILE_TYPE=FORM_DEFN VERSION=2
  2. FORM
  3. FIXED
  4. PORT 35 10
  5. HEADER "CheckList Test"

  6. TILE

  7. FIELD Item1
  8. FLOC 5 3
  9. CHECKLIST "Item1" "Mode1"
  10. ENDFIELD

  11. FIELD Item2
  12. FLOC 15 3
  13. CHECKLIST "Item2" "Mode1"
  14. ENDFIELD

  15. FIELD Item3
  16. FLOC 25 3
  17. CHECKLIST "Item3" "Mode1"
  18. ENDFIELD

  19. FIELD Item4
  20. FLOC 5 7
  21. CHECKLIST "Item4" "Mode2"
  22. ENDFIELD

  23. FIELD Item5
  24. FLOC 15 7
  25. CHECKLIST "Item5" "Mode2"
  26. ENDFIELD

  27. FIELD Item6
  28. FLOC 25 7
  29. CHECKLIST "Item6" "Mode2"
  30. ENDFIELD

  31. FIELD Item7
  32. FLOC 5 11
  33. CHECKLIST "Item7"
  34. ENDFIELD

  35. FIELD Item8
  36. FLOC 15 11
  37. CHECKLIST "Item8"
  38. ENDFIELD

  39. FIELD Item9
  40. FLOC 25 11
  41. CHECKLIST "Item9"
  42. ENDFIELD


  43. GROUP "Radio Box - Mode 1"
  44. GLOC 3 1
  45. GSIZE 30 4
  46. ENDGROUP

  47. GROUP "Radio Box - Mode 2"
  48. GLOC 3 5
  49. GSIZE 30 4
  50. ENDGROUP

  51. GROUP "Check Box - Mode 1"
  52. GLOC 3 9
  53. GSIZE 30 4
  54. ENDGROUP

  55. ENDTILE
  56. ENDFORM
复制代码
checklist.rar (684 Bytes, 下载次数: 70)

评分

参与人数 1SKILL币 +1 贡献 +1 收起 理由
王开鑫55 + 1 + 1 很给力!

查看全部评分

发表于 2014-1-23 10:59:47 | 显示全部楼层
这个选中和不选中分别执行命令的代碼能簡單舉例嗎
发表于 2014-1-23 11:06:44 | 显示全部楼层
;------------------------------;
  ; 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
               
                )
不勾怎麼定義關閉這些層面
发表于 2014-1-27 19:05:25 | 显示全部楼层
本帖最后由 XYX365 于 2014-1-27 19:08 编辑
mmmmyuitian 发表于 2014-1-23 11:06
;------------------------------;
  ; Set the TP1 create       ;
  ;------------------------------ ...
  1. ("TP1"
  2.         if((myform->curValue then
  3.             axlVisibleDesign(nil)
  4.             axlVisibleLayer("ETCH/TOP" t)
  5.             axlVisibleLayer("DRC ERROR CLASS/TOP" t)
  6.             axlVisibleLayer("BOARD GEOMETRY/OUTLINE" t)
  7.             axlVisibleLayer("MANUFACTURING/PROBE_TOP" t)
  8.             axlVisibleLayer("MANUFACTURING/NO_PROBE_TOP" t)
  9.             axlVisibleLayer("PACKAGE GEOMETRY/SILKSCREEN_TOP" t)
  10.             axlVisibleLayer("PIN/TOP" t)
  11.             axlVisibleLayer("VIA CLASS/TOP" t)
  12.             axlVisibleLayer("VIA CLASS/FILMMASKTOP" t)
  13.             axlVisibleUpdate(t)
  14.         else
  15.             axlVisibleLayer("ETCH/TOP" nil)
  16.             axlVisibleLayer("DRC ERROR CLASS/TOP" nil)
  17.             axlVisibleLayer("BOARD GEOMETRY/OUTLINE" nil)
  18.             axlVisibleLayer("MANUFACTURING/PROBE_TOP" nil)
  19.             axlVisibleLayer("MANUFACTURING/NO_PROBE_TOP" nil)
  20.             axlVisibleLayer("PACKAGE GEOMETRY/SILKSCREEN_TOP" nil)
  21.             axlVisibleLayer("PIN/TOP" nil)
  22.             axlVisibleLayer("VIA CLASS/TOP" nil)
  23.             axlVisibleLayer("VIA CLASS/FILMMASKTOP" nil)
  24.             axlVisibleUpdate(nil)
  25.        )
  26.                  ;Button Field
  27.                  ;Enter Action Here
  28.                  
  29.                  )
复制代码
发表于 2014-4-15 12:50:58 | 显示全部楼层
下下来研究研究,谢谢分享
发表于 2014-11-15 11:36:09 | 显示全部楼层
很好,很强大~
发表于 2015-8-13 10:19:11 | 显示全部楼层
怎么设置默认选项呢? 我需要刚打开form的时候就已经默认选中了
发表于 2016-12-6 13:43:13 | 显示全部楼层
leilei4908 发表于 2015-8-13 10:19
怎么设置默认选项呢? 我需要刚打开form的时候就已经默认选中了

有结果了吗?我也不知道怎么设置的
发表于 2016-12-8 18:53:55 | 显示全部楼层
skny2011 发表于 2016-12-6 13:43
有结果了吗?我也不知道怎么设置的

axlFormSetField(form, field, value)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|网站地图|Cadence Skill 论坛 ( 蜀ICP备13024417号 )

GMT+8, 2021-1-26 00:47 , Processed in 0.108170 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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