Win32

2008-09-15 15 views
7

के लिए उपयोगकर्ता इंटरफ़ेस नियंत्रण मैं .NET के लिए कई उपयोगकर्ता इंटरफ़ेस नियंत्रण पुस्तकालयों को देखता हूं, लेकिन मुझे केवल सी/सी ++ का उपयोग करके Win32 के लिए समान सामान कहां मिल सकता है?Win32

हालात खूबसूरत बटन, डायल, listviews, रेखांकन, आदि

की तरह लगता है हर Win32 प्रोग्रामर 'पारित होने के अधिकार अपने ही संग्रह लिख खत्म करने के लिए है। :/


कोई एमएफसी नियंत्रण कृपया। मैं केवल शुद्ध सी/सी ++ करता हूं। और इसके साथ ही, मैं अपने आवेदन में एक बहु-मेगाबाइट फ्रेमवर्क जोड़ने की तरह महसूस नहीं करता हूं ताकि मैं एक सुंदर बटन प्राप्त कर सकूं।


मैं एक छोटा सा विवरण छोड़ने के लिए क्षमा चाहता हूं, और यही मेरा विकास विंडोज मोबाइल के लिए है।

तो मैनिफेस्ट फाइलें बाहर हैं।

मुझे लगता है कि कितनी डेवलपर कंपनियां सुंदर दिखने के साथ पागल हो गई हैं .NET घटकों और आश्चर्य की बात है कि समकक्ष सी/सी ++ Win32 घटक कहाँ गए हैं?

मैंने पढ़ा कि कितने लोग अपनी खुद की ढाल बटन वर्ग आदि लिख रहे हैं, तो आपको लगता है कि इस सामान के लिए कुछ वाणिज्यिक कक्षाएं होंगी। यह सिर्फ अजीब है।

मैं क्यूटी पर नजदीकी नजर डालूंगा और ऐसी चीजों के लिए अपने जीयूआई समर्थन की जांच करूंगा। यह चुनौती है जब आप अपने स्वयं के यूआईएसवी में एक आदमी हैं। "काम करने के लिए" मदद करने के लिए कोई अन्य डेवलपर्स नहीं।

उत्तर

3

मैंने पहले भी Trolltech's Qt framework इस्तेमाल किया और इसके साथ बड़ी सफलता मिली है: इसके अलावा , यह भी पार मंच है, तो सिद्धांत रूप में आप जीत, मैक, & लिनक्स (आप कुछ भी मंच नहीं करते प्रदान की लक्षित कर सकते हैं - निश्चित रूप से आपके शेष कोड में विशिष्ट;))

संपादित करें: मुझे पता है कि आप विंडोज मोबाइल को लक्षित कर रहे हैं; जो निश्चित रूप से क्यूटी की ताकत में जोड़ता है, क्योंकि इसका क्रॉस-प्लेटफ़ॉर्म समर्थन WinCE and Embedded Linux तक भी बढ़ता है।

+0

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

+0

हाँ, मुझे डर है कि पिछले कुछ सालों में यह अच्छी तरह से प्रबंधित नहीं हुआ है। वास्तव में शर्म आती है। –

1

मैं तुम्हें MFC लाइब्रेरी का उपयोग करके कोई आपत्ति नहीं है आप की कोशिश करनी चाहिए Visual C++ 2008 Feature Pack

1

Stingray

CodeJock - के लिए MFC/C++

+0

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

+0

स्टिंग्रे के लिए नया यूआरएल http://www.roguewave.com/products/stingray.aspx –

1

The Code Project C/C के लिए नियंत्रित करता है यूआई के बहुत सारे है ++ टूलकिट प्रो

उनमें से अधिकतर एमएफसी या डब्ल्यूटीएल पर केंद्रित हैं लेकिन कुछ ऐसे हैं जो शुद्ध Win32 हैं।

यदि आप ढांचे का उपयोग नहीं कर रहे हैं तो एक तरफ के रूप में, आपको वास्तव में शुद्ध Win32 पर WTL पर विचार करना चाहिए। यह कम ओवरहेड है और लगभग दस लाख गुना अधिक उत्पादक है।

0

WinAPI का उपयोग करके आप लगभग कुछ भी कर सकते हैं और वास्तव में तेज़ भी कर सकते हैं। इसे समझने में कुछ समय लगता है लेकिन यह काम करता है। एमएसडीएन पर जाएं, लुकअप संदेशबॉक्स(), डायलॉगबॉक्स() देखें और वहां से जाएं।

मैं व्यक्तिगत रूप से एमएफसी की देखभाल नहीं करता हूं। यदि आप एमएफसी जैसे दृष्टिकोण का उपयोग करना चाहते हैं तो मैं बोर्लैंड के सी ++ बिल्डर की सिफारिश करता हूं। मुझे लगता है कि बहुत पुराना लेकिन अभी भी बहुत उपयोगी है।

1

सुंदर बटन, आदि के लिए, यदि आप पहले से ही ऐसा नहीं कर रहे हैं, तो embed an application manifest ताकि आपका प्रोग्राम सामान्य नियंत्रण लाइब्रेरी के संस्करण 6 से जुड़ा हुआ हो। ऐसा करने से आप विंडोज़ XP- या मानक विंडोज नियंत्रण के Vista-स्टाइल संस्करण प्राप्त करेंगे।

यदि आप मूल रूप से विंडोज़ प्रदान करने से परे नियंत्रण के प्रकार चाहते हैं, तो आपको शायद इसे स्वयं लिखना होगा या आप किस प्रकार के नियंत्रण की तलाश कर रहे हैं इसके बारे में अधिक विशिष्ट होना चाहिए।

+0

मैंने अभी विज़ुअल सी ++ 6 एप्लिकेशन को सुंदर बनाने के लिए यह किया है। एक ही निर्देशिका में मैनिफेस्ट के साथ ठीक काम किया। Resource.rc फ़ाइल के माध्यम से इसे संकलित करने के लिए मुझे यह जोड़ना पड़ा: 1 24 "YourApplication.exe.manifest" क्योंकि CREATEPROCESS_MANIFEST_RESOURCE_ID == 1 और RT_MANIFEST == 24 –