मुझे निर्दिष्ट पृष्ठभूमि रंग के साथ एक सीमा रहित विंडो बनाने की जरूरत है। मैं जानता हूँ कि इस तरह के एक गैर क्लाइंट क्षेत्र को हटाने और पाने के लिए कुछ:सीमा रहित खिड़की। छाया कैसे जोड़ें और 1px सीमा को कैसे हटाएं?
यह अच्छा है, लेकिन नहीं मैं वास्तव में क्या चाहते हैं। यदि आप किसी भी एरो खिड़की पर नज़र डालें - इसके चारों ओर एक छाया है (वास्तव में यह छाया नहीं है लेकिन कुछ चमक है)। मैंने कहीं पाया गया कि मैं एक छाया जोड़ने के लिए इस कोड का उपयोग कर सकते हैं:
const MARGINS shadow_on = { 1, 1, 1, 1 };
DwmExtendFrameIntoClientArea(hwnd, &shadow_on);
यह काम है (सोचा कि यह पूरी तरह से मेरे लिए स्पष्ट नहीं है - प्रलेखन छाया के संबंध हैं और इस समारोह के बारे में कुछ नहीं कहता है) लगभग कर रहा है। लगभग। खिड़की के चारों ओर एक पतली सीमा दिखाई दी है। ऐसा लगता है कि यह अर्द्धपारदर्शी है और यह देखो और खिड़की के लग रहा है टूट जाता है:
मुझे पता है कि यह संभव है - दृश्य स्टूडियो भी किसी भी तरह इस सीमा का रंग बदल!
अपडेट: टिप्पणियों में द्वितीय निरीक्षण के रूप में मैं DwmExtendFrameIntoClientArea()
में नकारात्मक मार्जिन का उपयोग कर सकता हूं। मैं -1 मान सेट और यह परिणाम मिला:
के रूप में आप देख सकते हैं - यह भी weirder है। मैंने रंग के साथ पृष्ठभूमि भरने की कोशिश की, लेकिन भाग्य के बिना।
आप विंडो क्षेत्र क्लिप चमक दूर करने के लिए कर सकते हैं:
const MARGINS shadow_on = { 1, 0, 0, 0 };
यहाँ साफ खिड़कियों एपीआई कोड उदाहरण इस तरह के खिड़की, यह डेल्फी पर लिखा है बनाने का तरीका है। क्या आपने चमक को हटाने के लिए इसे पहले से क्लिप करने का प्रयास किया था? यह हो सकता है कि आप चमक से छुटकारा पाएं और एक ही समय में छाया का उपयोग न करें। – icbytes
@icbytes no, आपको समझ में नहीं आया - मुझे एक चमक की आवश्यकता है - मुझे एक सीमा की आवश्यकता नहीं है जो प्रकट होता है जब मैं एक चमक जोड़ रहा हूं। – nikitablack
फिर उल्लिखित फ़ंक्शन का उपयोग न करें। इसे स्वयं बनाएं एक पीजीए लाइन, सभी तरफ, थोड़ा हल्का हरा के साथ। – icbytes