Re: floating widget problem [message #38045] |
Mon, 16 February 2004 09:57 |
David Fanning
Messages: 11724 Registered: August 2001
|
Senior Member |
|
|
Ananth Kini writes:
> I have the following issue with widget handling:
>
> I have a main screen to my program, namely screen_100. The top level
> base widget for this happens to be "w_bas_main". I have created
> another modal screen, screen_200 that has "w_bas_main" to be it's
> group leader.
>
> When I first run the program, I simply move the screen_100 to some
> arbitrary position on the screen. When I invoked screen_200, I
> expected the modal screen_200 to appear directly above screen_100,
> possibly overlapping a certain area of screen_100 (as illustrated
> below).
>
> Sadly, modal screen_200 always appears at the left top corner of the
> screen, no matter where the main screen, screen_100 is positioned.
Widgets that "float" over their group leader can be set with
the FLOATING keyword only on Windows. (Although I wouldn't be
surprised if the GUI Builder failed to mention this.)
In general, a second window is positioned with respect to
the first by first obtaining the offsets and size of the
first window (TLB_GET_SIZE and TLB_GET_OFFSET keywords
are used with WIDGET_CONTROL), then using this information
to calculate appropriate offsets for the second window,
which are then passed to it when it is created. This works
in a device-independent way.
Cheers,
David
--
David Fanning, Ph.D.
Fanning Software Consulting
Coyote's Guide to IDL Programming: http://www.dfanning.com/
|
|
|