try this, that's not exactly the same problem but should give you ideas. (try also asking on news:comp.sys.amiga.programmer for more advices, that's where I got this answer)
> Use a PageObject, see page_gc.doc, ClassActDemo.c for an example. But
> switching pages with Set(Page)GadgetAttrs() is broken in ReAction, use
>
> struct TagItem tlist[] =
> {
> {PAGE_Current, page_number},
> {TAG_DONE, 0}
> };
> DoGadgetMethod((struct Gadget *)pageobj, window, NULL, OM_UPDATE, (ULONG)tl
> ist, NULL, 0L);
>
> instead.