Max_xwz 发表于 2015-9-23 08:56:31

FORM中Checklist参数传递问题?

如下代码中有两个Checklist:Checkbox1和Checkbox2, 我想运行程序的时候先勾选Checkbox1和Checkbox2中的一个或者两个,然后点击Print按钮将勾选中的信息输出来,请问主程序应该怎么写呢?

                  fprintf(Form_Port"FIELD Checkbox1\n")               
                  fprintf(Form_Port"FLOC520\n")
                  fprintf(Form_Port"CHECKLIST \"Checkbox1\"\n")
                  fprintf(Form_Port"ENDFIELD\n")

                  fprintf(Form_Port"FIELD Checkbox2\n")               
                  fprintf(Form_Port"FLOC525\n")
                  fprintf(Form_Port"CHECKLIST \"Checkbox2\"\n")
                  fprintf(Form_Port"ENDFIELD\n")

                  fprintf(Form_Port"FIELD Print\n")               
                  fprintf(Form_Port"FLOC430\n")
                  fprintf(Form_Port"MENUBUTTON \"Print\" 8 3\n")
                  fprintf(Form_Port"ENDFIELD\n")

chrysalis 发表于 2015-9-23 09:25:01

defun(formAction (FORMID)
case(FORMID->curField
    ("Print" printf("%L %L\n", axlFormGetField(FORMID "Checkbox1") axlFormGetField(FORMID "Checkbox2")))
t ())
)

没有验证,LZ可以试一下。

Max_xwz 发表于 2015-9-23 10:19:27

chrysalis 发表于 2015-9-23 09:25
defun(formAction (FORMID)
case(FORMID->curField
    ("Print" printf("%L %L\n", axlFormGetField(F ...

你说的很有道理,我想我知道了该怎么写了。之前我设想用caseFORMID->curField 来得到Checkbox的值,发现那是行不通的。用axlFormGetField函数就可以很好的避开这个问题。感谢提醒~~
页: [1]
查看完整版本: FORM中Checklist参数传递问题?