Как нарисовать «речевой пузырь» над NSWindow? - PullRequest
2 голосов
/ 05 июля 2011

Обратите внимание на это приложение:

enter image description here

Как я могу нарисовать такой треугольник над существующим NSWindow? Я знаю, что рассматриваемое приложение, вероятно, рисует все это как собственное окно, но я хочу сохранить существующую строку заголовка. Есть ли способ нарисовать треугольник и прикрепить его над NSWindow? Обратите внимание, что решение должно быть MAS-совместимым (т. Е. Без частных каркасов или классов).

Ответы [ 3 ]

2 голосов
/ 05 июля 2011

Единственный способ сделать это - создать дочернее окно без полей без тени, которая перекрывает край существующего окна. Вы должны нарисовать любую тень самостоятельно.

0 голосов
/ 05 июля 2011

Я написал среду с открытым исходным кодом (BSD), которая рисует окна, подобные этому: https://github.com/sbooth/SFBPopovers

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

0 голосов
/ 05 июля 2011

Более полное решение будет включать в себя создание подкласса NSThemeFrame и создание некоторого пользовательского чертежа.Взгляните на Мэтта Галлахера: «Рисование собственного окна в Mac OS X ».Он содержит множество полезной информации, и Google также окажет здесь большую помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...