2012-02-09 10 views
9

Win32 खराब दिखता है, इसे कस्टम खाल से बेहतर कैसे दिखाना है?Win32 एप्लिकेशन को स्किन कैसे करें

मैं Adobe उत्पादों, iTunes, Autodesk 3dsmax और softimage Xsi, विंडोज मीडिया प्लेयर, ब्लेंडर, Comodo फ़ायरवॉल, Winamp, बेबीलोन ग्राहक, और कुछ डाउनलोड प्रबंधकों आदि की तरह कुछ मतलब;

वहां कई समान अनुप्रयोग हैं लेकिन मुझे कोई उचित ट्यूटोरियल या दिशानिर्देश नहीं मिल रहा है, यह गुप्त नुस्खा जैसा दिखता है!

केवल -two- ट्यूटोरियल ऑनलाइन उपलब्ध:

पुराने और बेकार: http://www.codeproject.com/Articles/20497/Draw-Skin-Window-Using-Pure-Win32-API

केवल अपारदर्शी पृष्ठभूमि कवर (और यह मैं क्या से बचने के, मैं GUI घटक के बारे में अधिक की जरूरत है): http://www.flipcode.com/archives/Win32_Window_Skinning.shtml

क्या कोई पुस्तक या उचित दिशानिर्देश है कि Win32api के लिए खाल कैसे बनाएं?

संपादित करें: मैं दाऊद Rodríguez टिप्पणी स्वीकार करते हैं, वहाँ नीचे ↓↓

+9

Win32 एप्लिकेशन को कैसे त्वचा दें - यह सुनिश्चित करना कि आपने पहले ही एप्लिकेशन को शिकार किया है, आपको एक बहुत तेज चाकू की आवश्यकता होगी। एप्लिकेशन को दबाएं ... (खराब मजाक के लिए खेद है) –

+2

अगर मुझे पता था कि मैं आपकी मदद कैसे करूंगा, लेकिन मैंने कोई Win32 विकास नहीं किया है, और लगभग कोई यूआई विकास नहीं किया है, इसलिए मैं वास्तव में मदद नहीं कर सकता। माफ़ कीजिये। (बीटीडब्ल्यू: मैं यहां था क्योंकि मैं मूल रूप से सी ++ टैग के साथ सभी प्रश्नों को पढ़ता हूं - जब मुझे कम से कम समय मिलता है) –

+1

@ मैकबर्डी: ईमानदारी से मैं इसे भूल जाता हूं, कुछ सफेद कागजात पढ़ने के बाद (* डेविड * मजाक के साथ) , मैं 50 साल की उम्र में सफलता की कल्पना कर सकता हूं, इसलिए मैंने अधिक उपयोगी अध्ययनों पर ध्यान केंद्रित करने का फैसला किया - मुझे लगता है कि आधुनिक विषय ठीक है, लेकिन अभी तक प्रदर्शन अभी तक नहीं है, विंडोज 8 की प्रतीक्षा कर रहा है, टिप्पणी के लिए धन्यवाद! ;) – sysop

उत्तर

3

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

मुझे यकीन है कि यह सब मानक जीत एपीआई के माध्यम से किया जा सकता है, लेकिन मैं पूरी तरह से एपीआई कॉल के माध्यम से इसे (या सलाह) का वर्णन नहीं कर सकता।

+1

धन्यवाद जोनाथन, मेरे पास एक सवाल है: आप रेंज स्लाइडर, स्क्रॉल, सूची बॉक्स, ड्रॉप डाउन, रेडियो बटन आदि जैसे जीयूआई घटकों से कैसे निपटते हैं, आप बस उन्हें पारदर्शी छवि लागू नहीं कर सकते हैं, क्या आप? – sysop

+1

@ जोनाथन, क्या आपने कस्टम स्किनिंग के लिए सी ++ बिल्डर एक्सई 2 में पेश किए गए नए स्टाइल इंजन को देखा है? –

+0

@ RemyLebeau-TeamB, मेरे पास अभी तक XE2 नहीं है :(क्या शैली इंजन पूरी प्रक्रिया को सरल बना देता है? – Jonathan

2

ऑपरेटिंग सिस्टम स्वचालित रूप से आपके लिए "स्किनिंग" संभालता है।

"क्लासिक" मोड (या विंडोज 2000 और पुराने संस्करण) में, यह आपको एक अच्छी तरह से क्लासिक दिखने वाला इंटरफ़ेस प्राप्त करता है। खिड़कियां खींची जाती हैं जैसे कि वे हमेशा विंडोज 95 के बाद से थे। संभवतः, जब आप कहते हैं कि "Win32 देखो बुरा" है तो आप इसका जिक्र कर रहे हैं। हालांकि, आपको यह समझने की आवश्यकता है कि जैसे कई लोग इस रूप को देखते हैं और विशेष रूप से इसे अपनी मशीनों पर सक्षम करना चुनते हैं। [चेतावनी: व्यक्तिगत राय आ रही है!] मैं उन लोगों में से एक हूं, और डेवलपर्स मशीनों से यहां पोस्ट किए गए स्क्रीनशॉट से निर्णय ले रहा हूं, मैं निश्चित रूप से केवल एकमात्र नहीं हूं।

विंडोज एक्सपी वास्तव में "स्किनिंग" या थीसिंग इंजन पेश करता है, जो विंडोज डीएलएल के एक सेट में रहता है। explicitly linking to version 6 of ComCtl32.dll तक, आपका एप्लिकेशन स्वचालित रूप से इन दृश्य प्रभावों को प्राप्त करेगा। कुछ लोगों ने कहा कि विंडोज के इस संस्करण को "Fisher-Price" देखा गया, जबकि अन्य "गौडी" शब्द से पूरी तरह से खुश थे। वांछित अगर उपयोगकर्ता को "क्लासिक" थीम (ऊपर वर्णित अनुसार) पर स्विच करने की अनुमति देने के लिए विकल्प को बनाए रखा गया था।

विंडोज विस्टा ने पूरी तरह से विंडोज के थीसिंग इंजन को ओवरहाल किया और "एरो" के नाम से जाना जाने वाला एक नया यूआई पेश किया। यह चमकदार दिखने वाली खिड़कियां और नियंत्रण प्रदान करता है, पारदर्शिता प्रभावों के साथ पूरा होता है-अर्थात, जब तक आपका ग्राफिक्स कार्ड इसका समर्थन करता है। फिर, ComCtl32.dll के संस्करण 6 को स्पष्ट रूप से लिंक करके, आपका एप्लिकेशन स्वचालित रूप से इन सभी शैलियों को लागू कर देगा।

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

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

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

+6

यह सभी @ कोडीग्रे पर सवाल का जवाब नहीं देता है। ओपी का सवाल नहीं था: "क्या कस्टम यूआई डिज़ाइन करना अच्छा विचार है?" लेकिन अधिक "हम इसे कैसे कर सकते हैं?" – Basj

2

आप कैसे कम स्तर एसडीके प्रोग्रामिंग उपयोग सीखने के लिए डर नहीं कर रहे हैं, तो इस लिंक को आजमाएं: Take control of your window code

इसके अलावा WinLIFT के लिए एक Google खोज करते।

+0

WinLIFT तकनीक मर रहा है ... विंडोज 7 के साथ बंद कर दिया। – Lothar

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