दिलचस्प पोस्ट
कई स्तंभों के साथ-साथ कई अतिरिक्त स्तंभों के साथ nhibernate स्टीम एपीआई प्रमाणीकरण Bash में, मैं एक कमांड में फ़ंक्शन कुंजी कैसे बाँधूं? मैं वास्तव में विजुअल स्टूडियो 2012 में हर सेटिंग कैसे रीसेट कर सकता हूं? एसक्यूएल – एक तालिका से रिकॉर्ड खोजें जो दूसरे में मौजूद नहीं है जावास्क्रिप्ट कॉलबैक जब IFRAME लदान समाप्त हो गया है? <Mvc: annotation-driven /> और <context: annotation-config /> servlet में अंतर के बीच क्या है? एक सरल jQuery के फार्म सत्यापन स्क्रिप्ट सर्वर की तरफ कई TIME_WAIT की लागत क्या है? मैं node.js से C ++ लाइब्रेरी का उपयोग कैसे कर सकता हूं? कोड प्रथम – क्या डाटा एनोटेशन या फ़्लुएंट एपीआई बेहतर है? मैं 2 डी बहुभुज के क्षेत्र की गणना कैसे करूं? रेजर का उपयोग करते हुए मैं अपने दृश्य के लिए बेहिचक जेसन को कैसे लिख सकता हूं? Haswell / Skylake पर आंशिक रजिस्टरों को कैसे ठीक करना है? आरएसी पर असहमति रखने के लिए एएल को लगता है, और एएच असंगत है PHP read_exif_data और ओरिएंटेशन समायोजित करें

WinForms ऐप में कस्टम शीर्षकबार / क्रोम

मुझे लगभग निश्चित है कि मुझे इस प्रश्न का उत्तर पता है, लेकिन मैं उम्मीद कर रहा हूं कि मैंने कुछ अनदेखी की है।

ऐसा लगता है कि कुछ अनुप्रयोगों में विस्टा एयरो के पास लगने और उनके कैप्शन सलाखों और बटनों पर महसूस होता है, भले ही वे Windows XP पर चलते हों। (Google क्रोम और विंडोज लाइव फोटो गैलरी उदाहरण के तौर पर दिमाग में आते हैं।) मुझे पता है कि इसे WinForms से पूरा करने का एक तरीका एक सीमावर्ती फॉर्म बनाना होगा और कैप्शन बार / बटन अपने आप में बनाएगा, फिर WndProc को ओवरराइड करना सुनिश्चित करना, आकार बदलना , और बटन क्लिक वे करते हैं जो करना चाहिए (मैं विशेष पर स्पष्ट नहीं है, लेकिन संभवतः दस्तावेज़ को पढ़ने के लिए एक दिन के लिए इसे बंद कर सकता हूं।) मैं उत्सुक हूं अगर कोई अलग, आसान तरीका है कि मैं हूं देख सकते हैं। शायद कुछ एपीआई कॉल या विंडो शैलियों की अनदेखी की है?

मेरा विश्वास है कि Google ने क्रोम के साथ रोल-अपनी-खुद-खिड़की दृष्टिकोण का उपयोग करके मेरे लिए इसका उत्तर दिया है किसी और की नई जानकारी के मामले में मैं एक और दिन के लिए खुला प्रश्न छोड़ दूँगा, लेकिन मेरा मानना ​​है कि मैंने अपने प्रश्न का उत्तर दिया है।

वेब के समाधान से एकत्रित समाधान "WinForms ऐप में कस्टम शीर्षकबार / क्रोम"

एप्लिकेशन के लिए अपने खुद के कस्टम "क्रोम" का उपयोग करने का पूरा कोड नमूना वाला एक लेख यहां है:

http://geekswithblogs.net/kobush/articles/CustomBorderForms3.aspx

यह कुछ बहुत अच्छा सामान की तरह दिखता है इसमें श्रृंखला के कुल 3 लेख हैं, और यह बहुत अच्छा चलता है, और विस्टा में भी!

एक्सपी पर इसे प्राप्त करने के लिए Google क्रोम विस्टा एसडीके का इस्तेमाल नहीं कर रहा है। यदि आप src\chrome\browser\views\frame में झांकते हैं तो सिस्टम की क्षमताओं के आधार पर ब्राउज़र फ़्रेम को परिभाषित करने के लिए कई फ़ाइलें हैं XP पर, ऐसा लगता है कि OpaqueFrame का उपयोग किया जाता है; लाइन 1 कहने के लिए यह है:

 // OpaqueFrame // // OpaqueFrame is a CustomFrameWindow subclass that in conjunction with // OpaqueNonClientView provides the window frame on Windows XP and on Windows // Vista when DWM desktop compositing is disabled. The window title and // borders are provided with bitmaps. 

ऐसा लगता है कि यह फ्रेम बटन को खींचने के लिए संसाधनों का उपयोग कर रहा है src\chrome\app\theme

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

जब तक कोई भी XP पर विस्टा थिसिंग को जादुई रूप से सक्षम करने के लिए कोई विधि खोज सकता है, तो यह सवाल का उत्तर है, लेकिन मैं स्पष्ट रूप से अपना स्वयं का पोस्ट जवाब के रूप में चिह्नित नहीं कर सकता।

ओवेन, मैं एक्सपी पर क्रोम का उपयोग कर रहा हूं और मुझे क्रोम खिड़की पर "विस्टा एयरो" ग्लास थीम दिखाई नहीं दे रही है। मैं इसे नीला नीला दिखता हूं।

यदि यह नियंत्रण और खिड़कियों की सलाखों को कस्टम करना है जो आप चाहते हैं, जिसे पूरा किया जा सकता है WinForms के लिए एक उत्कृष्ट, नि: शुल्क UI टूलकिट है जो कि ऐसा करता है: KryptonToolkit

@ जोनाथन हॉलैंड: क्या ऐसा कुछ है जो नेट से किया जा सकता है?

हां, DllImport का उपयोग करते हुए यहां एक अच्छा ब्लॉग पोस्ट है

Google क्रोम XP पर ग्लास देखने के लिए Windows Vista SDK का उपयोग करता है। आप द्वारा इसे यहां पर डाउनलोड किया जा सकता है:

http://www.microsoft.com/downloads/details.aspx?FamilyID=4377f86d-c913-4b5c-b87e-ef72e5b4e065&displaylang=en

इस का उपयोग करते हुए, आपको एक्सपी में ग्लास इफेक्ट प्राप्त करने के लिए निम्न DLL के लैंडिंग को सक्षम करने की आवश्यकता है:

  • uxtheme.dll
  • dwmapi.dl

नहीं, मुझे डर है, ऐसा करने का कोई अन्य आसान तरीका नहीं है।

आप सही रास्ते पर हैं। आपको एक कस्टम विनफ़ॉर्म बनाना होगा और फिर इस उदाहरण में सचित्र के रूप में आगे बढ़ना होगा।