2010-02-10 29 views
6

के तहत सी ++ के लिए जीयूआई फ्रेमवर्क/लिब, मैं सोच रहा था कि एमएफसी के लिए माइक्रोसॉफ्ट विकल्प है, विंडोज ऑपरेटिंग सिस्टम के लिए जीयूआई प्रोग्रामिंग में WinForms को छोड़कर?विंडोज़

मैं तृतीय पक्ष (Borland/Qt/wxwindows) पुस्तकालयों का उपयोग नहीं करना चाहता हूं। WinForms को .NET की आवश्यकता है जो मुख्य समस्या है (गंतव्य मशीनों में .NET इंस्टॉल नहीं कर सकता है) और एमएफसी मेरे लिए दर्दनाक है ...

कोई भी विकल्प जो क्यूटी के करीब होगा लेकिन माइक्रोसॉफ्ट ब्रांडेड होगा?

मैं किसी भी सुझाव की सराहना करता हूं!

+4

मैं उत्सुक हूं, आप एमएस ब्रांडेड कुछ का उपयोग करने के लिए इतने उत्सुक क्यों हैं? मुझे पता है कि ज्यादातर लोग सटीक विपरीत पूछेंगे ... – Manuel

+0

क्या कोई तकनीकी कारण है कि आप गैर-एमएस पुस्तकालयों या प्राथमिकता का उपयोग नहीं करना चाहते हैं? –

+0

ग्राहक अनुरोध है कि सभी * एमएस आधारित होना चाहिए ... – CombineSlave

उत्तर

10

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

2

मुझे नहीं लगता कि कोई भी है। आप शुद्ध विनैपीआई, एटीएल, WTL (इस मामले में शुभकामनाएं!) का उपयोग कर सकते हैं।

आप क्यूटी का उपयोग क्यों नहीं करना चाहते हैं? इसका मुफ़्त, खुला स्रोत और बहुत लचीला उपकरण।

+0

क्यों - एमएस के लिए क्लाइंट अनुरोध केवल तकनीक/libs और संसाधन – CombineSlave

0

कोई भी नहीं है। खोज के लिए अपना समय बर्बाद मत करो।

+0

एमएस सर्वर से डब्ल्यूटीएल डाउनलोड लिंक: http://www.microsoft.com/ डाउनलोड/detail.aspx? FamilyID = 48cb01d7-112e-46c2-bb6e-5bb2fe20e626 और displaylang = en (बीटीडब्लू यह मुझे नहीं था जो आपको डाउनवोट करता था) – Manuel

+1

मुझे लगता है कि यह एक अच्छी प्रतिक्रिया है - एमएफसी के अलावा वास्तव में कोई एमएस लाइब्रेरी नहीं है जो "क्यूटी के करीब" होगा। डब्ल्यूटीएल बहुत अच्छा है, लेकिन यह क्यूटी या एमएफसी जैसे अनुप्रयोग ढांचे नहीं है। –

+0

मैं सहमत हूं - डब्ल्यूटीएल एक ऐप ढांचा नहीं है और सभ्य दस्तावेज़ों की कमी सीखने की वक्र को बहुत खड़ी बनाती है। – Rob

0

किसी भी विकल्प है जो क्यूटी के करीब होगा, लेकिन माइक्रोसॉफ्ट ब्रांडेड

हैं "क्यूटी के करीब" आप क्यूटी के लिए डिजाइन में समान मतलब द्वारा, तो कोई - वहाँ नहीं है। मैं डब्ल्यूटीएल का उपयोग करता हूं और इसे पसंद करता हूं, लेकिन यह क्यूटी से बहुत अलग है।

1

हालांकि मैं इसे प्यार करता हूं और इसे बड़े पैमाने पर उपयोग करता हूं, डब्ल्यूटीएल सीखने के लिए काफी प्रयास है क्योंकि दस्तावेज़ीकरण महान नहीं है। कोड प्रोजेक्ट पर कुछ महान 'WTL for MFC Programmers' आलेख हैं जो पूर्ण रूप से पढ़े जाने वाले हैं।

हालांकि, अगर आप एमएस से कुछ क्यूटी की तरह चाहते हैं, तो आप केवल एमएफसी के साथ ही चले गए हैं मुझे डर है। ठीक है, यह दांत में लंबा है लेकिन वीएस -2008 एसपी 1 MFC Feature Pack के अतिरिक्त आप Office 2007-जैसे ऐप्स रिबन के साथ पूरा कर सकते हैं। यह केवल आपका सबसे अच्छा समाधान हो सकता है यदि केवल एमएस गैर- एनईटी तकनीक की अनुमति है।

+1

दुर्भाग्यवश, कुछ एमएफसी कक्षाएं .NET का उपयोग करती हैं .. * आपके सुझाव के बारे में जानकारी के उत्कृष्ट विवरण के लिए * sighs * – johnathon

15

मैं भी डब्ल्यूटीएल का सुझाव देता हूं। यहां कुछ उपयोगी डब्ल्यूटीएल लिंक के साथ एक सूची दी गई है:

  • एमएसडीएन के ATL 3.0 Window Classes: An Introduction - मूलभूत बातें के लिए।
  • क्रिस सेल, धर्म शुक्ला और नेनाद स्टीफानोविक part1 और part2 द्वारा डब्ल्यूटीएल लेख। नेनाद स्टेफानोविक डब्ल्यूटीएल के पिता हैं।
  • बजेर्के विकोसे WTL projects। बजेर्ने ने अपनी कई छोटी परियोजनाओं को एक संपूर्ण आवेदन, एक आईडीई - BVRDE में सम्मिलित किया है।
  • कोड प्रोजेक्ट WTL page। विशेष रूप से Michael Dunn द्वारा लिखे गए लेख देखें। वीएमवेयर वर्कस्टेशन डब्ल्यूटीएल और माइकल डन का उपयोग करता है वीएमवेयर के लिए काम करता है।
  • क्लिपकोड की डब्ल्यूटीएल डेवलपर गाइड (doc, pdf, source code)।

WTL opensource अनुप्रयोगों, जो एक विभिन्न कार्यान्वयन चाल देखने के लिए अध्ययन कर सकते हैं:

  • गूगल के क्रोमियम, स्रोत कोड here। विंडोज संस्करण डब्ल्यूटीएल का उपयोग करता है। मुझे नहीं पता कि किसी ने क्रोमियम से डब्ल्यूटीएल फ्रेमवर्क निकालने का प्रयास किया है या नहीं।
  • Programmer's Notepad डब्ल्यूटीएल, स्रोत कोड here का उपयोग करता है।
  • InfraRecorder डब्ल्यूटीएल, स्रोत कोड here का उपयोग करता है।
+1

+1, ओपी को एक जवाब चिह्नित करना चाहिए, क्योंकि सवाल पुराना है। ऐसा लगता है कि ओपी निराश हो गया और भूल गया यह एसओ है। – johnathon

0

आप हमेशा विंडोज एपीआई के साथ सीधे जा सकते हैं और एमएफसी को बाईपास कर सकते हैं।

+0

ईwwww। हमारे यहां एक प्रोग्राम है जो सीधे Win32 API का उपयोग करता है, और मैं प्राथमिक रखरखाव हूं। मैं जानना चाहता हूं कि एपीआई डिजाइनर धूम्रपान कर रहे थे, और जहां मैं कुछ प्राप्त कर सकता हूं। –

+0

@ डेविड थॉर्नली एपीआई डिजाइनर कुछ भी धूम्रपान नहीं कर रहे थे। अलग-अलग एबीआई के साथ दो घटकों के लिए एकमात्र तरीका गैर-प्रबंधित तरीके से एक दूसरे से बात करने के लिए (2 है) एक फ्लैट सी इंटरफेस (उर्फ विंडोज एपीआई) है, और COM <~ हाँ .. यह तब मौजूद नहीं था जब एपीआई था बनाया था। और यह विचार करते हुए कि एपीआई (एमएफसी, एटीएल, और हर एक आवेदन/ढांचे पर आप क्या सोच सकते हैं) पर निर्भर करता है, वे इसे बदलकर दुनिया को तोड़ने के लिए उत्सुक नहीं हैं। जो, ज़ाहिर है, उन्हें चाहिए। – johnathon

+0

@ जोहाननाथन: मैं समझता हूं कि उन्हें पहली बार रिलीज़ होने के बाद इसे इस तरह क्यों रखना होगा। हालांकि, मैंने पहले अच्छा फ्लैट सी इंटरफेस देखा है, और यह मेरे लिए अर्हता प्राप्त करने के लिए नहीं लग रहा था। –

-1

मुझे यह नहीं मिला। यदि यह Win32 या MFC या Windows.Forms नहीं है, तो आप जो खोज रहे हैं वह परिभाषा तृतीय पक्ष है।

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

इसके अलावा: डब्ल्यूटीएल एमएस सर्वर से डाउनलोड करने योग्य हो सकता है, लेकिन यह एमएस समर्थित तकनीक से बहुत दूर है। यह एक असमर्थित ऐड-ऑन है।

+1

फिर भी, डब्ल्यूटीएल को अपने ग्राहकों को "एमएस प्रौद्योगिकी" के रूप में प्रस्तुत किया जा सकता है। इसे मूल रूप से एमएस द्वारा विकसित किया गया था, और इसका उपयोग एमएस, और Google, वीएमवेयर और अन्य बड़ी सॉफ्टवेयर कंपनियों के भीतर भी किया जा रहा है। –

+0

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

+4

मैं यह नहीं कह रहा हूं कि यह एमएस द्वारा समर्थित है, लेकिन यह नीनाद की फ्री-टाइम परियोजना नहीं बल्कि एक माइक्रोसॉफ्ट उत्पाद था। इसे पहली बार माइक्रोसॉफ्ट के एसडीके के हिस्से के रूप में रिलीज़ किया गया था, और यह माइक्रोसॉफ्ट था जिसने इसे ओपन-सोर्स लाइसेंस (माइक्रोसॉफ्ट के वकीलों द्वारा तैयार) के तहत जारी किया था। –