मेरी विंडो को रीफ्रेश करने के लिए मुझे अमान्येट्रैक में इन का क्या उपयोग करना चाहिए? और क्यों?WinApi में GetClientRect और GetWindowRect के बीच क्या अंतर है?
उत्तर
विंडो रेक्ट में गैर-क्लाइंट क्षेत्र, यानी विंडो सीमाएं, कैप्शन बार आदि शामिल हैं। क्लाइंट रेक्ट नहीं करता है।
GetWindowRect
स्क्रीन निर्देशांक में एक आयत देता है जबकि GetClientRect
क्लाइंट निर्देशांक में एक आयता देता है।
InvalidateRect
क्लाइंट निर्देशांक में एक आय प्राप्त करता है। यदि आप अपने पूरे ग्राहक क्षेत्र को अमान्य करना चाहते हैं, तो NULL
से InvalidateRect
पास करें। आप GetClientRect
द्वारा लौटाए गए रेक्ट में पास हो सकते हैं, लेकिन NULL
पास करने के लिए यह बहुत आसान और स्पष्ट है।
MSDN से:
GetWindowRect
निर्दिष्ट विंडो के सीमांकन आयत के आयाम पुन: प्राप्त करता। आयाम स्क्रीन निर्देशांक में दिए जाते हैं जो स्क्रीन के ऊपरी-बाएं कोने से संबंधित होते हैं।
GetClientRect
एक खिड़की के ग्राहक क्षेत्र के निर्देशांक पुन: प्राप्त करता। ग्राहक निर्देशांक क्लाइंट क्षेत्र के ऊपरी-बाएं और निचले-दाएं कोनों को निर्दिष्ट करते हैं। चूंकि क्लाइंट निर्देशांक विंडो के क्लाइंट क्षेत्र के ऊपरी-बाएं कोने से संबंधित होते हैं, ऊपरी-बाएं कोने के निर्देशांक (0,0) होते हैं।
अधिक: ग्राहक रेक्ट शीर्षक पट्टी, बॉर्डर, स्क्रॉल बार, स्थिति पट्टी ...
GetClientRect
खिड़की के ग्राहक क्षेत्र के निर्देशांक हो जाता है शामिल नहीं है। विशेष रूप से इस क्षेत्र अंदर खिड़की क्रोम और शामिल नहीं हैडर आदि the MSDN page पर टिप्पणियों में से एक यह योग अप बहुत अच्छी तरह से है:
मैं कहूँगा कि क्षेत्र के इस समारोह वापसी आकार है कि मैं प्रस्तुत कर सकते हैं।
GetWindowsRect
पूरे खिड़की के निर्देशांक हो जाता है। यह हैडर, शामिल स्थिति पट्टी आदि हालांकि विस्टा के अंतर्गत the MSDN page
ऐप्स पर एक टिप्पणी है कि winver साथ जुड़े हुए नहीं हैं = 6 यहाँ मूल्यों की एक भ्रामक सेट प्राप्त होगा, कि के लिए खाते में नहीं है के अनुसार "ग्लास" पिक्सेल के अतिरिक्त पैडिंग विस्टा एयरो खिड़की पर लागू होता है।
तो जब तक कि विंडोज 7 के लिए यह तय नहीं किया गया है, तो परिणाम प्राप्त करें और सुनिश्चित करें कि आपके पास WINVER
का सही मान है।
एक बहुत ही सरल स्पष्टीकरण यह है कि GetWindowRect()
आपको आयत देता है जिसमें खिड़की की सीमाएं शामिल हैं। GetClientRect()
आपको आयत देता है जो सीमाओं को बाहर करता है - वह क्षेत्र जो विंडो विशिष्ट ड्राइंग को आवंटित किया जाता है।
कृपया ध्यान दें कि GetWindowRect()
स्क्रीन में एक आयत रिटर्न निर्देशांक - निर्देशांक है कि स्क्रीन/मॉनिटर के सापेक्ष हैं। GetClientRect()
एक आयत देता है जो खुद के सापेक्ष है।
- 1. WinAPI में हैंडल और एचएफआईएलई के बीच क्या अंतर है?
- 2. # {} $ {} और% {} के बीच क्या अंतर है?
- 3. के बीच क्या अंतर है:। और: आर !?
- 4. [अपरिभाषित] और [,] के बीच क्या अंतर है?
- 5. $ और $$ के बीच क्या अंतर है?
- 6. भिन्नता और '-' के बीच क्या अंतर है?
- 7. "$^एन" और "$ +" के बीच क्या अंतर है?
- 8. "APIENTRY _tWinMain" और "WINAPI WinMain" अंतर
- 9. के बीच क्या अंतर है?
- 10. MATLAB में & &&& के बीच क्या अंतर है?
- 11. अंतर और कहां के बीच क्या अंतर है?
- 12. सिम्फनी में रीडायरेक्ट और आगे के बीच क्या अंतर है?
- 13. PHP में iconv() और mb_convert_encoding() के बीच क्या अंतर है?
- 14. वेरिलोग में $ स्टॉप और $ फिनिश के बीच क्या अंतर है?
- 15. ember.js में, मिश्रण और विस्तार के बीच क्या अंतर है?
- 16. पर्ल में 'eq' और '= ~' के बीच क्या अंतर है?
- 17. गेब में, प्रदर्शित और वर्तमान के बीच क्या अंतर है?
- 18. गिट में लेखक और कमिटर के बीच क्या अंतर है?
- 19. आर में, अनलिंक और file.remove के बीच क्या अंतर है?
- 20. रेगेक्स में() और [] के बीच क्या अंतर है?
- 21. लिस्प में 'और #' के बीच क्या अंतर है?
- 22. इनलाइन और # परिभाषा के बीच अभ्यास में क्या अंतर है?
- 23. .NET में KeyValuePair और हैशटेबल के बीच क्या अंतर है?
- 24. Mercurial में, 'सिर' और 'शाखा' के बीच क्या अंतर है?
- 25. आरएसपीईसी में stub_model और mock_model के बीच क्या अंतर है?
- 26. रूबी में कक्षा और क्लास के बीच क्या अंतर है?
- 27. आईओएस में पथ और यूआरएल के बीच क्या अंतर है?
- 28. जावा में int.class और Integer.TYPE के बीच क्या अंतर है?
- 29. फ़ाइल बनाने में: = और + = के बीच क्या अंतर है?
- 30. क्लोजर में '() और (सूची) के बीच क्या अंतर है?
GetClientRect() से वापस आने वाले सापेक्ष निर्देशांक के बारे में बिंदु के लिए धन्यवाद। – rpattabi
स्क्रॉल बार के बारे में महत्वपूर्ण नोट – BlackBada