2009-07-31 1 views
1

Я создаю полноэкранное приложение, и мне интересно, есть ли способ заставить NSAlert перейти к CGDisplayCapture, который я создал. Прямо сейчас, NSAlert отображается за захватом экрана. Мое главное окно отображается просто отлично (после его настройки с помощью setLevel :), но NSAlert, похоже, тоже не работает. Я попытался сделать:NSAlert в полноэкранном режиме

[[alertBox window] setLevel:CGShieldingWindowLevel()]; 

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

Любая помощь будет оценена по достоинству.

ответ

1

Если вы хотите отображать многопользовательский интерфейс, но запретить переключение приложений и т. Д., Используйте SetSystemUIMode вместо CGDisplayCapture.

+0

Ницца найти Николая! Тем не менее, у меня есть немного проблем с передачей SetSystemUIMode различных атрибутов. Должен ли я включать другую библиотеку помимо Cocoa для этого? – PF1

+0

Да, SetSystemUIMode и его константы присутствуют в HIToolbox.framework (подкатегория Carbon.framework). Нет проблем с этим, если ваше приложение имеет пользовательский интерфейс Cocoa; вам просто нужно включить #include . –

+0

Это имеет больше смысла. :) В любом случае, после импорта Carbon framework, код теперь работает нормально. Тем не менее, я столкнулся с некоторой проблемой, и я не думаю, что класс был создан. Эта проблема заключается в том, что я не могу отключить пользователя от щелчка на других окнах (которые «переезжают» по моему коду). Есть ли способ сделать это не так, несмотря на документацию, в которой говорилось: «Примечание о отключении док-станции с использованием этого метода приведет к отключению док-станции только в том случае, если вызывающее приложение является самым передним».? Спасибо за вашу помощь. – PF1

2

При отображении экрана не поддерживается способ отображения окна. Это то, что захватывает средство отображения.

+0

Hi Ahruman: Хорошо, я как-то понимаю. Итак, есть ли поддерживаемый способ получить «экран» за моим окном, чтобы пользователь не мог изменять приложения, использовать Spotlight и т. Д.? – PF1