Обнаружение, если окно является ключевым окном в какао

Я подаю заявку, что пользователь должен будет взаимодействовать с одним окном и когда у них есть то окно, настроил способ, которым они хотят это, они переключаются на другое приложение затем, мое приложение начнет делать другой материал, который я определю в методе

скажите для примера программы, когда главное окно фокусируется, оно содержит маркировку, которая говорит, что "я фокусируюсь" и когда человек нажмет на рабочий стол или другое окно/приложение затем, маркировка будет читать, "я не фокусируюсь".

Спасибо

8
задан Zanok 24 June 2010 в 04:56
поделиться

2 ответа

Это не то же самое, что ключевое окно. Ключевое окно означает, что вы будете получать события ввода для вашего приложения. Вы хотите знать, находится ли ваше приложение на переднем плане. Вам нужны уведомления NSApplication NSApplicationDidBecomeActiveNotification и NSApplicationDidResignActiveNotification . Наблюдайте за ними, чтобы узнать, когда ваше приложение находится на переднем плане, а когда нет. applicationDidBecomeActive: и applicationDidResignActive: вашего делегата приложения будут автоматически вызываться при этих событиях.

11
ответ дан 5 December 2019 в 07:33
поделиться

[NSWindow isKeyWindow] может быть тем, что вы ищете.

Указывает, является ли окно ключевым для приложения.

- (BOOL)isKeyWindow

Возвращаемое значение ДА, если окно является ключевым для приложения; иначе НЕТ.

Если вы хотите определить, когда ваше окно становится ключевым или когда оно перестает быть ключевым, ознакомьтесь с уведомлениями NSWindowDidBecomeKeyNotification и NSWindowDidResignKeyNotification.

11
ответ дан 5 December 2019 в 07:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: