2010-01-04 10 views
5

[प्रश्न]कैसे खिड़की पता लगाने के लिए Windows 7

द्वारा आकार दिया गया था। खिड़की का पता लगाने के लिए कैसे करें (डब्ल्यूपीएफ) Aero Snap द्वारा आकार बदल दिया गया था? तो मैं नए आकार और स्थिति को अनदेखा कर सकता हूं।

आपके उत्तर और टिप्पणियों के लिए अग्रिम धन्यवाद।

+0

यह जानने में मदद मिल सकती है कि आप यहां क्या हासिल करने की कोशिश कर रहे हैं क्योंकि मुझे संदेह है कि उत्तर होगा: आप नहीं बता सकते हैं। लेकिन आपकी समस्या को हल करने का एक और तरीका हो सकता है। – Richard

+0

क्या आप जानना चाहते हैं कि खिड़की का आकार कब बदलता है? या विशेष रूप से एयरो स्नैप द्वारा? अगर विशेष रूप से एयरो स्नैप, क्यों? रिचर्ड कहते हैं, अगर हम वास्तविक समस्या को जानते हैं तो मदद करने का एक और तरीका हो सकता है। –

+0

आपके सुझावों के लिए धन्यवाद, मुझे एरो स्नैप होने से पहले स्थिति और आकार को सहेजने की ज़रूरत है। – whunmr

उत्तर

4

बाहर निकलने पर, GetWindowPlacement पर कॉल करें। यह वर्तमान विंडो आकार और स्थिति को वापस कर देगा, और चाहे आप कम से कम, अधिकतम या पुनर्स्थापित कर रहे हों, यह आपको नवीनतम 'पुनर्स्थापित' विंडो आकार और स्थिति भी देगा।

तो आपको अपनी विंडो स्थिति में परिवर्तनों को ट्रैक करने की आवश्यकता नहीं है, बस पूछें कि आपको इसकी आवश्यकता कब है।

typedef struct _WINDOWPLACEMENT { 
    UINT length; 
    UINT flags; 
    UINT showCmd; 
    POINT ptMinPosition; 
    POINT ptMaxPosition; 
    RECT rcNormalPosition; 
} WINDOWPLACEMENT; 
+0

आपकी मदद के लिए धन्यवाद। – whunmr

+0

आप पी/Invoke के साथ एक विन एपीआई कॉल का उपयोग क्यों करते हैं? मुझे लगता है कि इन्हें टालना बेहतर है और एक शुद्ध .NET क्लास लाइब्रेरी समाधान की तलाश है। –

+2

@ ओलिवर: पी/आमंत्रण के साथ कुछ भी गलत नहीं है। यह कार्यक्षमता किसी कारण के लिए .NET Framework द्वारा प्रदान की जाती है: ताकि आप उन चीजों को कर सकें जो पहले से ही प्रबंधित कार्यान्वयन प्रदान नहीं करते हैं। यहां संक्षिप्त जवाब यह है कि * एक प्रबंधित कार्यान्वयन नहीं है जो ऐसा कर सकता है, इसलिए पी/आमंत्रण आपका एकमात्र विकल्प है। –