2013-01-16 9 views
8

मुझे आश्चर्य हो रहा था कि मेरे NSWindow शो को पूरी तरह से ऊपर से बनाना संभव है या नहीं। मैं वर्तमान कोड का उपयोग कर CGShieldingWindowLevel को खिड़की स्तरNSWindow वास्तव में उच्चतम स्तर (माउस के ऊपर, मिशन नियंत्रण/खुलासा से ऊपर)

[self setLevel:CGShieldingWindowLevel()]; 

सेट ... ... और यह अधिकांश भाग के लिए एक महान काम करता है, लेकिन यह काफी पर्याप्त नहीं है। मिशन नियंत्रण या एक्सपोज़ सक्रिय होने पर विंडो खींची नहीं जाती है, और यह माउस के नीचे खींची जाती है। मैं सोच रहा था कि क्या वास्तव में "शीर्ष स्तर" को बनाना संभव था जो इन सभी तत्वों से ऊपर खींचा जाएगा।

किसी भी मदद की सराहना की जाएगी। धन्यवाद!

+1

माउस को ध्यान में रखते हुए किसी भी आधुनिक कंप्यूटर के सबसे मौलिक पहलुओं में से एक है, अगर आप कर सकते हैं तो मुझे आश्चर्य होगा ... लेकिन चूंकि एनएसविंडो स्तर पूर्णांक हैं ... क्या आपने एक जोड़ने की कोशिश की है? – CodaFi

+0

अच्छा विचार, लेकिन दुख की बात है, अभी भी कोई नहीं है। बस इसके नरक के लिए मैंने जांच की कि वास्तव में इन स्थिरांक के पूर्णांक मूल्य क्या थे। NSScreenSaverWindowLevel = 1000, और CGShieldingWindowLevel() = एक विशाल 2147483629 को बदल देता है। मैंने बिना किसी लाभ के दोनों को जोड़ने की कोशिश की, साथ ही साथ CGShieldingWindowLevel() को दो गुणा करके गुणा किया, जिसने मुझे बिना खिड़की के छोड़ा। कोई अन्य विचार? धन्यवाद! –

+3

वास्तव में उच्चतम स्तर मॉनीटर की सतह से ऊपर है। – Davyd

उत्तर

5

एक्सपोज़ के बारे में आपके प्रश्न के संबंध में, आपने शायद अपने संग्रह व्यवहार को सही तरीके से सेट नहीं किया है। NSWindow का एक उपवर्ग, और आपके प्रारंभ में कहीं निम्नलिखित के साथ कुछ करना:

self.collectionBehavior = (NSWindowCollectionBehaviorStationary | NSWindowCollectionBehaviorIgnoresCycle); 

आप सभी रिक्त स्थान (जो आप शायद करते हैं) पर अपनी खिड़की चाहते हैं मत भूलना भी NSWindowCollectionBehaviorCanJoinAllSpaces जोड़ने के लिए।

माउस के बारे में आपके प्रश्न के संदर्भ में, दुर्भाग्य से मुझे नहीं लगता कि ऊपर खींचने का एक तरीका है।

+0

बहुत बढ़िया, धन्यवाद! यद्यपि यह केवल मुझे आवश्यकतानुसार 1/3 पूरा करता है, मुझे लगता है कि अन्य 2/3s वास्तव में संभव नहीं हैं ... –

+1

@AtlasWegman: दूसरा हिस्सा माउस था, और और क्या? सभी उद्देश्यों और उद्देश्यों के लिए मेरा मानना ​​है कि माउस के ऊपर ड्राइंग असंभव है। मैंने अभी आपकी तरह की एक और उपयोगिता की जांच की है, छाया, और यह माउस से ऊपर नहीं खींचती है। –

+0

दूसरा बड़ा (जिसे मैं महसूस करने के लिए भीख मांग रहा हूं स्टॉक एनएसविंडो क्लास के साथ असंभव है) मिशन नियंत्रण पर चित्रित कर रहा है। इस तरह से कुछ कैसे पूरा किया जा सकता है पर कोई विचार? धन्यवाद! –

संबंधित मुद्दे