NSWindowを持たないステータスアイテムアプリを作成しています。ユーザーがステータス項目をクリックすると、NSOpenPanelをプルアップします。アプリがNSWindowを利用していない場合、どうすればいいですか?NSStatusItemアプリケーションでNSOpenPanelを表示
ありがとうございました。
NSWindowを持たないステータスアイテムアプリを作成しています。ユーザーがステータス項目をクリックすると、NSOpenPanelをプルアップします。アプリがNSWindowを利用していない場合、どうすればいいですか?NSStatusItemアプリケーションでNSOpenPanelを表示
ありがとうございました。
シートとしてではなく、モーダルウィンドウとして実行します。 completionHandler:あなたが、その後NSOpenPanelのbeginSheetModalForWindowにそのウィンドウを渡すことができ
window = [[NSApp currentEvent] window];
:シートとしてオープンパネルを表示するために、自分のステータス項目のIBActionメソッドで
、これを呼び出します。
シートが表示されているときにステータス項目自体がひっくり返って消えますが、シートを閉じるとステータス項目が再び表示されることがあります。あなたは単にNSMenuItemの行動から開いているパネルを呼び出すことができます
:
NSOpenPanel *panel = [NSOpenPanel openPanel];
[panel setAllowsMultipleSelection:YES];
[panel setCanChooseDirectories:YES];
NSUInteger result = [panel runModal];
NSMutableArray *paths = [NSMutableArray array];
if(result == NSFileHandlingPanelOKButton) {
for (NSURL *url in [panel URLs]) {
NSLog(@"%@", url);
}
}
パーフェクト、それは私がまさに必要です。 – David