2011-09-02 89 views
1

我有一個自定義的PDE和一個按鈕,當我點擊它時我想展示一個新的NSPanel。當我使用orderFront或makeKeyAndOrderFront函數時,面板出現,但在打印對話框窗口下並沒有焦點,我什麼都不能做。當我使用runModelForWindow函數時,面板出現在窗口上,似乎沒問題,但首先這是模態的,我希望面板不是模態的,當我點擊紅色按鈕關閉面板時,它會消失,但主要打印對話框沒有重點,我不能做任何事情,甚至關閉應用程序。打開NSPanel,點擊PDE中的按鈕

請幫幫我。我是Mac編程的新手。

+1

什麼是PDE?另外,據我所知,你已經有了「打印對話框」,這可能是模態的。如果*是*模態,則它將具有焦點優先級,所以可以說,當有模態面板時,沒有其他焦點可以聚焦。此外,蘋果的指導方針強烈discoruage在同一時間有幾個模式窗口或面板。 – Ibolit

+0

PDE - 打印對話框擴展,我還在打印對話框中創建了一個自定義窗格。你是正確的打印對話框是模態的,但我不希望我的新面板是模態。我看到了一個可能的例子。 –

回答

1

我發現它:

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