>>>>Works on the whole page, in my case - all the textboxes, buttons etc.
>
>I used it sometimes, both on optic properties and
>on special added properties as triggers to class specific _assign
>Don't recall anything weird / special needing attention
>Recursing to call a method OTOH might include activeX controls as well
Specially on fonts the AX thingies require special handling - sometimes you need to insert an .object reference, and most of the time they have a .font property set, so it's not oObj.FontBold, it may be oObj.object.font.bold so YMMV, there's no general rule. And that's exactly the reason why setAll() may not work on them, so calling your own code recursively on the whole form is the safer way to go. And, mind you, not on form.init(), that may be too early, but perhaps on .show(), or even .activate(), when all the objects which were added later are, hopefully, in existence.
>>Now this is funny... I tried with the whole form, and everything went bold... except one listbox. Weird.
>Focus probably first thing I'd check if not added in special way - vfp GUI is sometimes weird
Sometimes I had special invisible control as "focus anchor" for prog visual alter(c)ations
The invisible control is something you must have if you have toolbar buttons, because they never get focus (never tried with a textbox or combo on toolbar, hmmm...). Alternately, in any .save() method, buttoned or not, shift focus to this invisible control, save, return to previous control.
But no, the focus is not on this listbox, and it wasn't added afterwards or any such funny business. That listbox has code only in its requery() and doubleclick() - it's for navigation to related records. Why would it not react to the setall() is beyond me, i.e. not my problem at all and I'm not interested in investigation of it.