NSWindow с пользовательской тенью - PullRequest
1 голос
/ 01 февраля 2011

Я хочу нарисовать собственную тень на NSWindow-Object.

Есть ли способ сделать это, передав собственный NSShadow-Object в NSWindow? Или (приватный) метод, где я могу разместить свой собственный код для рисования?

Спасибо

1 Ответ

3 голосов
/ 01 февраля 2011

Не. Вы не должны изменять внешний вид окна. Изменение внешнего вида интерфейса разрешено только для Apple. Обычные приложения должны использовать стандартное.

Тем не менее, есть способ, если вы действительно настаиваете на этом. Вы не можете просто прикрепить NSShadow, к сожалению. Также, насколько я понимаю, нет частного метода, который рисует тень. Это делает Window Server, а не приложение.

Но вы можете попросить оконный сервер не добавлять тень. Вы заметили, что в Интерфейсном Разработчике есть опция, подавляющая тень данного окна? Это соответствует свойству hasShadow из NSWindow.

После подавления тени вам просто нужно нарисовать все самостоятельно. Хороший пример кода, который выполняет пользовательское рисование окна, доступен по адресу ADC , так что взгляните на него.

...