On 6/11/11 3:36 PM, stephenmcnutt wrote:
It's over three years later, and this apparently hasn't been fixed. Granted,
I'm using LiveCode 4.5.3 and not the very latest version, so if it has been
fixed, I'd like to know and would consider upgrading.
I've learned to work with it, though I do wish it were fixed. There's a
conflict if you have destroystack set to true; if you don't set that
property then chances are the problem will go away.
But there are a few tricks to get around the bug anyway.
It seems that if
Revolution is going to scale and scroll the window to hide the menu bar
on the mac, it ought to adjust the minHeight along with that. I can't
imagine a scenario where the minHeight shouldn't change by 22 pixels
when a non-adjustable strip of UI elements is added/removed from a
window.
Set the minHeight while "Set as Menu Bar on Mac OS" is turned on and it
will always be accurate on any platform. This is the only time during
development you should have that checkbox ticked.
With "Set as Menu Bar on Mac OS" still checked and running in a stand
alone on OS X, there are apparently now 22 extra pixels at the bottom
of the stack that are not accounted for- i.e. getting the height of the
stack reports 22 pixels less than what's actually there.
Always use the card height, not the stack height. The stack height is
equivalent to the window height, which will indeed be shorter on a Mac
when there's a menu bar (because the card has scrolled up so the window
is shorter.) The card height is always stable, even though the top few
pixels may not be showing.
I started out not having "Set as Menu Bar on Mac OS" checked.
I was using the following to show/hide the menu bar:
on preOpenStack
if the short name of this stack is the mainStack of this stack then
if the platform is "MacOS" and the environment is not "development"
then
set the defaultMenubar to "Menubar 1"
hide group "Menubar 1"
else
show group "Menubar 1"
end if
end if
end preOpenStack
Then, I had code to loop through my fields& buttons and scoot them all
up 22 pixels.
The size of the window will change if you toggle the menubar property,
so don't do that. If you want to hide the menubar, just use "hide
menubar". Don't change the window size by removing the menubar entirely.
Set the editMenus to true during development (turn off "show as menubar"
on a Mac) and place your objects that way. In fact, during development,
always leave the menubar as a visible group at the top. Don't set it as
the system menu bar until you are all done with the stack. In fact, I
leave it as a group all the time and I build for both Windows and Mac
without any menubar set. Then in a preOpenStack handler I do this:
if the platform is MacOS then
set the menubar of this stack to "myMenuBar"
end if
That way the standalone builder is happy, controls all pop into place
correctly, there's no extra space or truncated space when the stack
starts, and basically all is well.
You could try just turning off destroystack though, and the problem may
not happen at all.
--
Jacqueline Landman Gay | [email protected]
HyperActive Software | http://www.hyperactivesw.com
_______________________________________________
use-livecode mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode