2012-12-01 21 views
8

मेरे पास एक बड़ा विरासत अनुप्रयोग है जो हर विंडोज 8 मशीन पर एक सतत ग्रे सीमा के साथ दिखा रहा है, जबकि अन्य ऐप्स के लिए अन्य विंडो डेस्कटॉप पृष्ठभूमि से प्राप्त रंग का सटीक रूप से उपयोग करती हैं। मेरे जीवन के लिए मैं क्यों नहीं पता कर सकता।विंडोज 8 में अन्य एप्लिकेशन की तरह डेस्कटॉप के आधार पर मेरे एप्लिकेशन की विंडो सीमा ग्रे क्यों है?

मैंने एपीआई के लिए इसे नियंत्रित करने के लिए एमएसडीएन को क्रॉल करने के लिए अपना सर्वश्रेष्ठ Google-fu करने का प्रयास किया है लेकिन खाली हो गया है। यह ऐप विंडोज एक्सपी, विस्टा और 7 में अन्य सभी की तरह दिखता है ... सिर्फ विंडोज 8 रंग में ग्रे है। हमने निश्चित रूप से इस इलाज के लिए Win8 विशिष्ट कोड नहीं जोड़ा है।

यह सिर्फ एक एमएफसी विंडो है, लेकिन इसके अंदर एक .NET/WPF घटक और डायरेक्ट 3 डी 9-सक्षम दृश्य क्षेत्र एम्बेड करता है।

मेरा सबसे अच्छा अनुमान यह है कि यह किसी भी तरह से विंडो में डायरेक्ट 3 डी सतह होने से संबंधित हो सकता है, लेकिन मैं इसे कहीं भी मान्य नहीं कर सका।

किसी भी मदद की सराहना की जाएगी!

धन्यवाद

संपादित करें: ग्रे फोकस नहीं होने का प्रभाव से मेल खाता है, और हम निश्चित रूप से विंडो फ़ोकस के साथ खेल खेलने करना ... इतना है कि यह हो सकता है।

+0

मेरे पास इसका समाधान नहीं है। यह कुछ समय के लिए एक ज्ञात मुद्दा है: http://stackoverflow.com/questions/12946642/problems-using-cdialogex-class-that-get-solved-using-cdialog-class-instead – cha

+0

हमारे पास अलग-अलग मुद्दे हो सकते हैं। मुझे CDialogEx से प्राप्त नहीं होता है और जब मैं छोटा/बहाल करता हूं, तो रंग अभी भी मेरे लिए भूरा है। – SentientAI

उत्तर

2

समस्या एक डेवलपर ओवरलोडेड ऑनएनसीएक्टिवेट() था और अंत में TRUE लौटा दी। उन्हें बेसक्लास (सीडब्ल्यूएनडी) ऑनएनसीएक्टिवेट को इसके बजाय कॉल करने की आवश्यकता थी।

यह विंडोज 7 पर भी दिखाई देता था अगर आप पर्याप्त नज़दीकी दिखते थे।

1

विंडोज 8 में डेस्कटॉप विंडोज 7 और Vista जैसी विंडो सीमाओं में पारदर्शिता का उपयोग नहीं करता है, जो एरो थीम्स के साथ किया गया था। यदि आप अपने ऐप में फ़ोकस को दूसरी शीर्ष विंडो पर ले जा रहे हैं, तो यह समझा सकता है कि आप ग्रे सीमा को क्यों देखते हैं। भूरे रंग से कुछ समझने योग्य चीज़ों पर फ़ोकस किए बिना खिड़कियों के रंगों को बदलने का प्रयास करें ताकि आप जो देख रहे हैं उसे सत्यापित कर सकें।