Detect ResizeStack completion?

David Epstein depstein at att.net
Tue Oct 29 19:46:01 EST 2002


Thanks for the replies to my question:
> Has anyone found a good way to detect the COMPLETION of a stack's resizing?
It now appears that Mac and Windows responses to "resizeStack" are
different.

Scott Rossi suggested:

> Check a variable state, not the mouse state.
> 
> on mouseDown
> set the uAllowResize of this stack to true
> end mouseDown
> 
> on resizeStack w,h
> if the uAllowResize of this stack then doComplexThings
> end resizeStack
> 

etc.  This does not work.  When the window is being resized with the mouse,
no mouseup or mousedown messaages go to the stack, in either Windows or Mac.

Richard Gaskin reported:

> I seems that the resizeStack message is sent after a stack is resized (but
> before the content region is drawn).
> 
> If you run this script in a stack:
> 
> on resizeStack
> put milliseconds()
> pass resizestack
> end resizeStack
> 
> ...the Message Box appears only once, after the drag is completed and the
> mouse button released.
> 
> What behaviors were you experiencing that suggested that the message was set
> continuously?

This is indeed what happens with Mac OS9.  But with WIndows 2000, the very
same test gives a different result:  the message box displays a continually
changing series of numbers while the window is being resized.

Indeed I believe this difference is visible with stacks like the Metacard
Control Browser, whose fields and buttons move when you resize the window.
On the Mac, they move only when you release the mouse; on Windows, they
continuously adjust while you drag the depressed mouse.

Perhaps this difference in behavior is worth noting somewhere, and it would
be interesting to know what happens in other OSes.  My original question,
how to detect the conclusion of a stack-resizing, should now be restated as:
How can I detect this when using Windows?  Further suggestions are welcome.

David Epstein




More information about the metacard mailing list