From: Jeroen v. d. Z. <jv...@cf...> - 2000-05-02 19:22:46
|
On Tue, 02 May 2000, you wrote: > I have a dialogbox with a text window and button. > When I call this the first time the "setWidth()" call works. > On subsequent calls, it doesn't. > Also, FXWindow::hide() doesn't work on a window within a frame after it is exposed. > I used the 4 calls flush refresh etc. Don't work. > Thanks, Mike D... OK, here it is: setWidth(), setHeight() records the new width/height into the widget, but does not do anything else. So at the first opportunity, the widget's parent will set it right back to what it was. The current width of a widget is typically negotiated with the widget's parent. This process is influenced by layout hints, so that e.g. LAYOUT_FIX_WIDTH strongly suggests to the widget's parent that the width should be left alone. Note the layout flags are HINTS, and it is not necessarily true that all layout managers observe these hints [some layout patterns such as FXSwitcher, ignore most of the hints because og the layout constraints]. Most layout managers however try their best to observe as many hints as makes sense! Calling hide() will hide the window, but the window's parent isn't necessarily aware of that, unless you call recalc() also. The reason that hide() does not call recalc() automatically is that some widgets call hide() and show() in their layout(), and layout should of course not call recalc() or the process would never stop. As a convenience, sending an ID_HIDE message DOES call recalc(), by the way. This is OK because layout() itself does not work using messages. Hope this helps, Jeroen -- +----------------------------------------------------------------------------+ | E-Mail : jv...@cf... `:::' ....... ...... | | USMail : 215 Wynn Drive, ::: * `::. ::' | | Huntsville, AL 35805 ::: .:: .:.::. .:: .:: `::. :' | | Phone : (256) 726-4820 ::: :: :: :: :: :: :::. | | Fax : (256) 726-4806 ::: .::. .:: ::. `::::. .:' ::. | | WWW : http://www.cfdrc.com .:::.....................::' .::::.. | +----------------------------------------------------------------------------+ | Check out the FOX GUI toolkit: | | U.S.A. [Official]: http://www.cfdrc.com/FOX/fox.html | | ftp://ftp.cfdrc.com/pub/FOX | | Europe [Mirrors]: ftp://SunSITE.Informatik.RWTH-Aachen.DE/pub/Linux/fox/ | | ftp://imssun1.epfl.ch/pub | +----------------------------------------------------------------------------+ |