>Christian,
>
>Here's an alternative for you. In the refresh of each button put this code;
>
>
>LOCAL lcCheckBox
>lcCheckBox = "THIS.Chk" + SUBSTR(This.Name,LEN(ALLTRIM(This.Name))-2)) + ".VALUE
>This.Enabled = (&lcCheckBox = 1)
>
>
Jim, is there a reason to use that rather than:
this.enabled = (EVAL(lcCheckBox) = 1)
which avoids the issues of macro substitution?
>Then name the buttons and checkboxes as chk01 chk02 btn01, btn02 etc.. Once you've done this you can simply;
>
>Thisform.refresh() to get everything enabled and disabled.