打开NSPanel,点击PDE中的按钮

问题描述:

我有一个自定义的PDE和一个按钮,当我点击它时我想展示一个新的NSPanel。当我使用orderFront或makeKeyAndOrderFront函数时,面板出现,但在打印对话框窗口下并没有焦点,我什么都不能做。当我使用runModelForWindow函数时,面板出现在窗口上,似乎没问题,但首先这是模态的,我希望面板不是模态的,当我点击红色按钮关闭面板时,它会消失,但主要打印对话框没有重点,我不能做任何事情,甚至关闭应用程序。打开NSPanel,点击PDE中的按钮

请帮帮我。我是Mac编程的新手。

+1

什么是PDE?另外,据我所知,你已经有了“打印对话框”,这可能是模态的。如果*是*模态,则它将具有焦点优先级,所以可以说,当有模态面板时,没有其他焦点可以聚焦。此外,苹果的指导方针强烈discoruage在同一时间有几个模式窗口或面板。 – Ibolit

+0

PDE - 打印对话框扩展,我还在打印对话框中创建了一个自定义窗格。你是正确的打印对话框是模态的,但我不希望我的新面板是模态。我看到了一个可能的例子。 –

我发现它:

[panel setLevel:CGShieldingWindowLevel()]; 
[panel setWorksWhenModal:YES]; 
[panel makeKeyAndOrderFront:self];