2010-12-03 9 views
5

हो सकता है कि मैं इस प्रश्न पर कुछ नकारात्मक अंक प्राप्त कर सकूं, लेकिन वास्तव में यह सवाल पिछले कई दिनों से मेरे दिमाग में दबदबा है कि टेक्स्टबॉक्स (या ऐसे अन्य नियंत्रण) के पीछे मूल/कच्चा कोड क्या है ।टेक्स्टबॉक्स का कच्चा कोड

मेरा मतलब है कि मैं समझता हूं कि, हम टेक्स्टबॉक्स वर्ग का उत्तराधिकारी बना सकते हैं और हमारे परिवर्तन कर सकते हैं, हम इसकी वस्तु बनाते हैं और इसका उपयोग करते हैं।

लेकिन यह जानना चाहता है कि वह वर्ग कैसे टेक्स्टबॉक्स बनाता है (वह डिज़ाइन जो हमें टेक्स्ट दर्ज करने की अनुमति देता है) (अन्य घटकों के लिए एक ही क्वेरी), क्या यह 'सी' भाषा का एक कोड है जो इसे सीजी (कंप्यूटर ग्राफिक्स)) प्रोग्रामिंग या किसी अन्य चीज।

विशेषज्ञ कृपया मेरी जिज्ञासा को हल करें।

धन्यवाद

+1

आप विंडोज डेस्कटॉप पर WinForms के बारे में पूछ रहे हैं, है ना? क्योंकि यह डब्ल्यूपीएफ में अलग होगा, सिवरलाइट में अलग होगा, और स्पष्ट रूप से एएसपी.Net में अलग होगा। – MarkJ

उत्तर

7

विंडोज स्क्रीन पर ड्राइंग के लिए कई बुनियादी एपीआई प्रदान करता है। आप पिक्सेल, रेखाएं, बक्से और अधिक जटिल ज्यामितीय आकार खींच सकते हैं। पाठ खींचने के लिए एपीआई भी है। अन्य एपीआई आपको उपयोगकर्ता इनपुट पर प्रतिक्रिया करने की अनुमति देता है, उदा। माउस आंदोलन और क्लिक और कीबोर्ड इनपुट।

इन बुनियादी एपीआई से आप टेक्स्ट बॉक्स को कैसे दिखाना चाहिए और उपयोगकर्ता इनपुट पर प्रतिक्रिया के सटीक पिक्सल को चित्रित करके अपना स्वयं का टेक्स्ट बॉक्स बना सकते हैं। हालांकि, विंडोज़ में एक टेक्स्ट बॉक्स की अंतर्निहित अवधारणा है। इस टेक्स्ट बॉक्स में एक मानक रूप और अनुभव है और यह यूआई अवधारणाओं जैसे फोकस, टैब ऑर्डर, क्लिपबोर्ड और कैरेट के साथ भी एकीकृत है। लेकिन दृश्यों के पीछे विंडोज स्क्रीन पर आकर्षित करने के लिए निम्न स्तर के एपीआई कार्यों का उपयोग कर रहा है और उपयोगकर्ता इनपुट पर प्रतिक्रिया करता है।

जब आप विंडोज फॉर्म में TextBox बनाते हैं तो यह वास्तव में एक मानक विंडोज Edit control बनाता है और लपेटता है। यह नियंत्रण जीडीआई का उपयोग करके तैयार किया गया है। हालांकि, डब्ल्यूपीएफ जैसे अन्य प्रोग्रामिंग मॉडल TextBox नियंत्रण बना सकते हैं जो सामान्य टेक्स्ट बॉक्स की तरह दिखते हैं लेकिन WPF द्वारा प्रदान किए गए कस्टम कार्यान्वयन का उपयोग करते हैं और डायरेक्टएक्स का उपयोग करके तैयार किए जाते हैं।

+0

gr8 जानकारी, धन्यवाद। –

3

यहाँ मैं क्या लगता है कि यह कर रहा है:

TextBox या किसी अन्य Control के पीछे कच्चे कोड Windows API कि के लिए जिम्मेदार है का उपयोग करता है इन नियंत्रणों को चित्रित करना और बाद में संदर्भ के लिए इन नियंत्रणों के Handles प्रदान करें।

विंडोज GDI, GDI+ और कभी-कभी DirectX जैसे यूआई को आकर्षित करने के लिए विभिन्न विधियों का उपयोग कर रहा है। मैं गलत हो सकता हूं और कुछ अन्य तकनीक भी हो सकती हैं जिन्हें मैं उल्लेख करना भूल गया।

ये नियंत्रण प्रत्येक विंडो के WinProc का उपयोग Input Notification और अन्य कॉलबैक प्राप्त करने के लिए करते हैं जो क्लिक, टाइप किए गए या उदाहरण के लिए आकार के दौरान इन नियंत्रणों को सूचित करते हैं।

+0

त्वरित उत्तर के लिए धन्यवाद, समझ गया, क्या आप इसके लिए एक अच्छा लिंक दे सकते हैं। –

+0

ठीक है, अगर आपने सी/सी ++ में विंडोज प्रोग्राम नहीं किया है, तो आप इन चीजों से परिचित नहीं होंगे। निम्न लिंक पर एक नज़र डालें: http://pravin.insanitybegins.com/win32/ – decyclone

+0

धन्यवाद, मैंने सी और सी ++ के साथ कुछ प्रोग्रामिंग किया है लेकिन सामान्य स्तर पर। तो उम्मीद है कि मैं समझने में सक्षम हो जाएगा। लेकिन मेरे दिमाग की कुछ खिड़कियां खोलने के लिए धन्यवाद। –

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