Re: Panel before sheilding window
Re: Panel before sheilding window
- Subject: Re: Panel before sheilding window
- From: Andrew Platzer <email@hidden>
- Date: Thu, 27 Sep 2001 18:33:55 -0700
On Thursday, September 27, 2001, at 12:10 , Chris Pocock wrote:
I was wondering if it was possible, and how, I can move a panel subclass
in front of a fullscreen borderless window, that's been set at the
shielding window level.
I can set the level of my window like so:
[myWindow setLevel:CGShieldingWindowLevel()];
but then when I use the same call on my panel, it only seems to flick in
front for a moment(and only the first time I make the call).
If my window isn't set to the shielding window level everything works
fine, except of course I still have menubar and a dock to deal with.
Also, I tried setting the panel's level to CGShieldingWindowLevel() + 1
and got this error message.
PSsetwindowlevel, error setting window level (1001)
Does anyone know where I can find these API's?
PSsetwindowlevel is a private function that used to call Display
PostScript. We restrict external application window levels so we can use
higher ones for our own sinister purposes.
As for why it's shifting window levels, you might want to run with gdb and
see if someone else is calling -[NSWindow setLevel:] after you are.
If you want a covering window, you can leave it level 0 or some reasonable
slightly higher level and just call Carbon's HideMenuBar() which hides
both the menubar, dock, and status bar items. Call ShowMenuBar() to
restore them.
Andrew
__________________________________________________________________
A n d r e w P l a t z e r
A p p l i c a t i o n F r a m e w o r k s
A p p l e