I might have forgotten about it, but I think I might have referred to this Incorrect alignment of checkboxes on the user interface . Usually you have two options, either collect the checkboxes into lists while youi append them or utilize XPath.
Names Default To Here(1);
ids = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L"};
nw = New Window("CBs",
lub = Lineup Box(N Col(4))
);
// Collecting references to a list
cb_refs = {};
For Each({id}, ids,
Eval(EvalExpr(
lub << Append(cb = Check Box({Expr(id)}));
));
Insert Into(cb_refs, cb);
);
// XPath
cbs = nw << XPath("//CheckBoxBox");
// You can then get values from the checkboxes by sending message to the list
show(cb_refs << get items, cbs << get items);
Maybe these give some ideas about what you could do. The post I added has a bit more complicated example and in one of my responses I did utilize XPath
-Jarmo