(कृपया मुझे इन घटनाओं माउस ऊपर और माउस बटन दबाने कॉल करने के लिए अनुमति देते हैं। मेरे MFC कुछ पुरानी है। और वहाँ इस चीज है जो मेरे शब्दावली हाल ही में ;-)
लघु कहानी अप खिलवाड़ किया गया नेट कहा जाता है : आप बस माउस क्लिक के बारे में जानना नहीं चाहते हैं। तुम्हे और चाहिए।
लंबी कहानी:
इस हालांकि जवाबी सहज है, ऐसा लगता है कि बस एक माउस क्लिक चाहने काफी असामान्य है। अक्सर, आप माउस डाउन पर कुछ प्रोसेसिंग करना चाहते हैं और माउस अप पर कुछ और प्रोसेसिंग करना चाहते हैं। चाल यह है कि बस माउस अप संदेशों को ट्रैक करना पर्याप्त नहीं है: माउस डाउन आपकी खिड़की में नहीं हुआ हो सकता है। क्या आप इसे वैध क्लिक मानते हैं? विशेष रूप से यह मानते हुए कि माउस डाउन प्रोसेसिंग (जैसे आइटम चुनना) नहीं हुआ था।
तर्क आगे बढ़ते हुए, आपको माउस डाउन संसाधित करने के बाद माउस अप प्राप्त करने पर भरोसा नहीं करना चाहिए: उपयोगकर्ता ने माउस को स्थानांतरित कर दिया है और कहीं और बटन को छोड़ दिया है (ड्रैग'ड्रॉप सोचें), इस मामले में, आपको माउसअप इवेंट प्राप्त नहीं होता है ... जब तक कि आप माउस डाउन पर माउस को कैप्चर नहीं करते हैं, यह सुनिश्चित करने के लिए कि माउस को माउस विंडो तक ले जाएं, भले ही माउस ने आपकी विंडो छोड़ी हो।
सब कुछ, आप माउस को ट्रैक करना बंद कर देते हैं, माउस को पकड़ते हैं और जब आप माउस अप प्राप्त करते हैं, तो बस जांच लें कि क्या आप कैप्चर करते हैं या नहीं। यदि नहीं, तो माउस या तो डबल-क्लिक किया गया था (कोई दूसरा माउस नीचे नहीं) या माउस डाउन कहीं और हुआ था, इसलिए आपको शायद इस माउस अप की परवाह नहीं है।
निष्कर्ष में: कोई माउसक्लिक संदेश नहीं है क्योंकि आप इसके साथ बहुत दूर नहीं जाएंगे: आपको अधिक संदेशों को संभालने और वैसे भी अधिक यांत्रिकी को लागू करने की आवश्यकता है।
ओह! और यदि आप मौजूदा नियंत्रण से निपट रहे हैं जो पहले से ही इन सभी आइटमों और चयन सामग्री को प्रबंधित करता है, जैसे सूचीदृश्य, संभावना है कि यह एक समान कस्टम अधिसूचना प्रदान करता है जैसे आइटम सक्रिय या आइटम चयन बदल गया।
स्रोत
2009-02-03 19:29:00