Theyr controls all have (in base class) an 'in-designer' flag that changes the behaviour of control when it's in designing state.
This brings some advantages :
1- The most obvious : the control can paint by itself when put on the designer. No need to add external code to show it. And it's wysiwyg.
We have followed this approach in the past.
The disadvantage is that it is not actually easy to get the widget to layout designer. You can easily add every CtrlLib widget, but for custom developed widgets things are more complicated, you would have to invent some .dll plugin system (not even sure how it should look like).
BTW, why do you think that usc script language tries to be similar to C++?
(The idea is to reuse as much of existing C++ code of Paint routine as possible straight to .usc).