The popup list is re-postioned every time it pops up (in LstPopupList). In
fact, what's really being re-positioned is the window that pops up, not the
actual resource containing the list. First, the position from the resource
is copied, then it's adjusted as necessary so that the top, bottom, left,
and right sides of the window are all on the screen (but not necessarily
within the bounds of the current form). If the list is too tall to fit on
the screen, it will go off the bottom rather than the top. Likewise, if the
list is too wide to fit on the screen, it will go off the right side rather
than the left. I would expect PalmRez to disallow lists that are too wide or
too tall, but I'm just explaining what LstPopupList does.
The normal way to use popup lists is to specify the location of the list in
the resource, at the same time as you specify the width of the list and the
number of items displayed. Constructor will take care of making sure the
list is within the bounds of the screen, so LstPopupList will end up
creating the window with the bounds specified in your list resource.
If you're dynamically changing the number of visible items (as opposed to
the total number of items) in the list, then you may want to also
dynamically position the list accordingly. To be safe, I'd code such dynamic
list positioning so that the bounds always stay within the screen.
--
Peter Epstein
--
For information on using the Palm Developer Forums, or to unsubscribe, please see
http://www.palmos.com/dev/tech/support/forums/