2012-12-06 11 views
5

Stworzyłem niestandardowy (motyw) NSWindow, tworząc okno bez obramowania, a następnie odtwarzając wszystkie elementy obramowania okna/tła wewnątrz widoku treści. Stworzyłem widżety okna (zamknij okno, pole powiększania, zminimalizowanie) na górze mojego fałszywego paska tytułu za pomocą -standardWindowButton: forStyleMask :.Sposób kliknięcia przycisku robaka w NSWindow podczas gdy arkusz na nim jest

Problem jest, gdy arkusz jest przedstawiony na szczycie mojego okna niestandardowe (np „zapisz zmiany ...”, te przyciski nie otrzyma kliknięć.

Czy ktoś wie jak mogę powiedzieć NSWindow nie przechwytywanie kliknięć w moim polu minimalizacyjnym? Działa ze standardowym plikiem NSWindow Kiedy arkusz jest podniesiony, nadal mogę wysłać oba do stacji dokującej lub powiększyć okno:

Odpowiedz

0

Pomyślałem, że może jest specjalny kod w Widok zawartości, który ignoruje kliknięcia w pod-widokach, gdy arkusz jest w górze, ale wygląda na to, że -hitTest: jest wywołany w widoku treści i zwraca widżet minimalizacji, ale akcja widżetu nigdy nie jest dostępna s wyzwolony.

Chyba mógłbym po prostu zastąpić widok zawartości i wykonać akcję w hitTest widoku zawartości, jeśli jest to widget minimalizacji ... ale to wydaje się nieco brzydkie.

+0

Nie zdziwiłbym się, gdyby tak właśnie zrobił Apple. –

Powiązane problemy