2011-02-23 20 views
5

में टेक्स्ट कर्सर स्थिति का निर्धारण कैसे करें वर्तमान में सक्रिय टेक्स्ट इनपुट कर्सर के स्क्रीन समन्वय को निर्धारित करने का सबसे अच्छा तरीका क्या है?विंडोज

मुझे इन-लाइन लिप्यंतरण कार्यक्रम के लिए इसकी आवश्यकता है ताकि मैं उपयोगकर्ता को कुछ सुझाव विकल्प प्रदर्शित कर सकूं क्योंकि टेक्स्ट दर्ज किया गया है।

+0

कर्सर क्या है? एक RichEdit? एक संपादन बॉक्स? एक विनफॉर्म? – selbie

उत्तर

6

पहले सक्रिय अनुप्रयोग में थ्रेड इनपुट संलग्न करें (AttachThreadInput)। फिर GetCaretPos के साथ देखभाल की स्थिति प्राप्त करें। स्थिति क्लाइंट निर्देशांक में है, GetFocus पर कॉल करें जिसमें कैरेट की खिड़की पर हैंडल है, फिर समन्वय को ClientToScreen के साथ स्क्रीन निर्देशांक में कनवर्ट करें। अंत में AttachThreadInput पर कॉल करके थ्रेड इनपुट को अलग करें।

+0

काम नहीं करेगा यदि एप्लिकेशन विंडोज कैरेट का उपयोग नहीं करता है और इसकी अपनी देखभाल है। – Megamozg