Instead of nested DIVs, this window simulation
uses separate DIVs for outer frame (grey background with outset border),
draggable titlebar and 'client area' (white area with inset border).
Resize handle and titlebar button are images. By
applying the NO_DRAG command or a combination of VERTICAL+HORIZONTAL[1]
accordingly, some of these items have been prevented from being draggable
by their own. Immediately after SET_DTHML() had been invoked, i.e. while
the page was still loading, coherence of these items has been built by use
of the API's addChild() method. The 'User Interface', i.e. the window's
responses to mouse events, is completely processed within my_PickFunc(),
my_DragFunc() and my_DropFunc() (automatically invoked function bodies for
extendes scripting). [1] Different from NO_DRAG, VERTICAL+HORIZONTAL forces the library to consider the item still as Drag&Drop element, triggering my_PickFunc(), my_DragFunc() or my_Drop Func() calls when hit by a mouse event. |