2011-09-26 22 views
5

के साथ तुरंत भेजा नहीं गया है, मैं टच स्क्रीन के साथ काम कर रहा हूं और ड्राइवरों में निर्मित विंडोज 7 का उपयोग कर रहा हूं (क्योंकि इससे मुझे कभी भी इंस्टॉल करने के लिए संकेत नहीं दिया गया है)। यह एक छोटे से मुद्दे को छोड़कर ठीक काम करता है। जब मैं स्क्रीन को स्पर्श करता हूं, तब तक मैं WM_LBUTTONDOWN नहीं भेजूंगा जब तक कि मैं स्क्रीन से अपनी उंगली नहीं ले जाता। यह ऐसा करने के लिए ऐसा प्रतीत होता है कि क्या मैं WM_RBUTTONDOWN अनुकरण करने के लिए रोकना चाहता हूं या नहीं। (इसके अलावा, मैंने पकड़ को अनुकरण करने के लिए अनुकरण करने की कोशिश की, लेकिन यह अभ्यास में कभी भी अक्षम नहीं होता है।)WM_TOUCH को टच डाउन इवेंट

इसलिए मैंने सोचा कि मुझे केवल WM_TOUCH संदेश प्राप्त होंगे। और मैंने पाया कि जब तक मैं अपनी अंगुली को स्क्रीन से नहीं ले जाता तब तक WM_TOUCH (0x240) मेरी खिड़की पर भी नहीं भेजा जाता है। मैं ऐसा विचार करता हूं जो WM_TOUCH के उद्देश्य को पूरी तरह से हरा देता है।

दोनों से पहले और WM_TOUCH संदेश, मैं तीन संदेशों तुरंत प्राप्त स्क्रीन को स्पर्श करके पर प्राप्त करने के लिए पंजीकरण के बाद:

1. Send: 0x02CC (undocumented tablet messages) 
2. Post: 0x011B (undocumented) 
3. Send: 0x011A (WM_GESTURENOTIFY) 

0x011A WM_GESTURENOTIFY, जो मेरे कोड के लिए प्रतिक्रिया करने है (शायद मैं सही ढंग से जवाब नहीं कर रहा हूँ?)। मैं पूर्ण सूचना प्राप्त करने के लिए एक मानक प्रतिक्रिया (एमएस से नमूना कोड का उपयोग कर) के साथ जवाब देता हूं।

एक और बात, जब मैं टच संदेशों के लिए पंजीकरण करता हूं तो मुझे WM_TOUCH मिलना शुरू हो गया, लेकिन मुझे WM_GESTURENOTIFY संदेश भी मिल रहा है। एमएस दस्तावेज के अनुसार, एक बार जब मैं WM_TOUCH प्राप्त करने के लिए पंजीकरण करता हूं, तो मुझे अब इशारा संदेश नहीं मिलते हैं।

यदि कोई मुझे बता सकता है कि WM_TOUCH संदेशों को तुरंत कैसे प्राप्त करें (उदा। जब मुझे WM_GESTURENOTIFY संदेश मिल रहे हैं), और जब मैंने अपनी अंगुली को टच स्क्री से ऊपर नहीं छोड़ा, तो मैं इसकी बहुत सराहना करता हूं।

उत्तर

0

की जांच:

http://msdn.microsoft.com/en-us/gg464991

क्या आप उपयोग करना चाहते RegisterTouchWindow समारोह, इस तरह के रूप में है:

RegisterTouchWindow(handle, 0); 

विंडोज अब WM_GESTURE बजाय WM_TOUCH संदेश भेजेगा आपकी खिड़की के लिए संदेश। ध्यान रखें कि आपको काम करने के लिए विंडोज एसडीके संस्करण 7.0 या नए के खिलाफ संकलन करना होगा।

+0

यही वह है जो मैं अब करता हूं। असल में, मैं Win7 के लिए XP और WM_TOUCH के लिए WM_GESTURE का उपयोग करता हूं। यह एक शिकन जोड़ता है, लेकिन परिणाम बहुत अच्छे हैं। – user574771

1

मैं लगभग एक ही मुद्दा है और का उपयोग करके इसे हल:

RegisterTouchWindow (hWnd, TWF_WANTPALM); स्पर्श इवेंट का इस ट्यूटोरियल बाहर

संबंधित मुद्दे