मेरे डेल्फी-7 आवेदन प्रदर्शित करता है:डेल्फी में TScreen का उपयोग करते हुए 7
Screen.DesktopWidth
Screen.DesktopHeight
Screen.Monitors[0].Width
Screen.Monitors[0].Height
और, हो, तो एक दूसरे पर नजर रखने का चयन किया है, यह भी:
Screen.Monitors[1].Width
Screen.Monitors[1].Height
पर मेरी WinXP प्रो पीसी में चल रहे एप्लिकेशन के साथ
, मैं कंट्रोल पैनल/डिस्प्ले/सेटिंग्स पर जाता हूं, और दूसरी मॉनीटर के लिए सेटिंग्स बदलता हूं (या तो इसे जोड़ या हटा देता हूं)।
मैं फिर 4 (या 6) पैरामीटर के नए मान प्रदर्शित करने के लिए रीफ्रेश बटन पर क्लिक करता हूं, और कुछ अप्रत्याशित होता है: स्क्रीन। डिस्कोटॉपविड्थ और स्क्रीन। डिस्कोटॉपहेइट सही नए मान दिखाता है, लेकिन दूसरे 2 के मान (या 4) पैरामीटर बहुत गलत हैं।
स्क्रीन की तरह। मॉनीटर [0] .Width = 5586935, जबकि यह 1680 होना चाहिए।
क्या डेल्फी 7 में टीस्क्रीन का उपयोग करने के लिए कुछ विशेष नियम हैं?
मैं इसे अनुकरण नहीं कर सकता क्योंकि मेरे पास एक मॉनिटर और डेल्फी 200 है लेकिन मुझे लगता है कि समस्या मॉनिटर सूची रीफ्रेश के साथ हो सकती है (डेल्फी 200 9 में यह निजी प्रक्रिया 'स्क्रीन.गेट मॉनिटर' के माध्यम से किया जा रहा है)। मुझे लगता है कि जब आप अपना आवेदन पुनरारंभ करते हैं तो आपको सही मान मिलते हैं, है ना? और अगर मुझे यह सही याद है, शायद सर्टैक ने कहीं लिखा है कि 'स्क्रीन' उदाहरण को नष्ट करना और इसे फिर से बनाना सुरक्षित है। और यदि ऐसा है, तो निम्नलिखित को इन डेटा को रीफ्रेश करना चाहिए 'स्क्रीन। फ्री; स्क्रीन: = टीस्क्रीन। बनाएं (शून्य); ', लेकिन मुझे सच में नहीं पता कि यह क्रिया कितनी सुरक्षित है। – TLama
क्या आप टीएमओनिटर इंस्टेंस स्क्रीन का संदर्भ ले रहे हैं। मॉनीटर [0] या क्या आप स्क्रीन प्राप्त कर रहे हैं। मॉनीटर [0] हर बार? –
@TLama "मुझे लगता है कि जब आप अपना एप्लिकेशन पुनरारंभ करते हैं तो आपको सही मान मिलते हैं, है ना?" ये सही है । और जब मैं 4 (या 6) पैरामीटर प्रदर्शित करने वाले बयान ** से पहले ** ** ShowMessage कथन कहता हूं तो मुझे सही मान भी मिलते हैं। – AthenaAtDelphi