2008-09-29 7 views
6

क्या विंडोज़ को बदलने/जोड़ने का कोई तरीका अतिरिक्त कार्यक्षमता जोड़ने के लिए खोलें/सामान्य संवाद सहेजें?विंडोज़ में नियंत्रण बदलना/जोड़ना सामान्य संवाद खोलें/सहेजें

काम पर हमारे पास सैकड़ों 'जॉबफोल्डर्स' वाले सर्वर पर एक क्षेत्र है- केवल नौकरी के बारे में जानकारी रखने के लिए डेटाबेस एप्लिकेशन द्वारा बनाए गए/प्रबंधित सामान्य विंडो फ़ोल्डर्स (ईमेल/स्कैन किए गए फ़ैक्स/वर्ड डॉक्स/स्प्रेडशीट्स/तस्वीरें आदि) फ़ोल्डर्स नौकरी संख्या द्वारा नामित हैं।

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

डेटाबेस से कनेक्ट करना और खोज करने की कार्यक्षमता प्रदान करना कोई समस्या नहीं है, लेकिन क्या संवाद में एक कम्बोबॉक्स नियंत्रण (आदर्श रूप से एक कीप्रेस/कीडाउन ईवेंट के साथ) जोड़ने का कोई तरीका है?

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

इसका मतलब किसी भी ऐप से जॉबफोल्डर खोजने का एक नया एकीकृत तरीका होगा।

आदर्श रूप से कोई व्यक्ति VB/VB.net/C# का उपयोग करके एक तरीका जान लेगा, लेकिन मुझे अनुमान है कि, यदि संभव हो, तो यह शायद सी ++ होगा।

उत्तर

0

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

2

Windows API के लिए प्रासंगिक माइक्रोसॉफ्ट प्रलेखन यहाँ है:
http://msdn.microsoft.com/en-us/library/ms646960(VS.85).aspx
http://msdn.microsoft.com/en-us/library/ms646839(VS.85).aspx

देखो विशेष रूप से OFN_ENABLETEMPLATE और OFN_ENABLEHOOK झंडे पर।

जैसा कि आप कहते हैं, यह जानकारी अधिकतर प्रासंगिक होती है जब आप सी/सी ++ में काम कर रहे होते हैं।

5

मार्क रान्ससम की तरह, आप इसे OFN   ENABLETEMPLATE और OFN   ENABLEHOOK झंडे के साथ कर सकते हैं। फिर आप OPENFILENAME संरचना के lpTemplateName डेटा सदस्य को एक संवाद संसाधन निर्दिष्ट करते हैं। अपने नियंत्रण की नियुक्ति प्राप्त करने में थोड़ा सा परीक्षण और त्रुटि होती है।

हुक प्रक्रिया है कि आप लिखते हैं खिड़की संदेशों कि संवाद के लिए विशिष्ट प्राप्त होगा - आप विशेष रूप से WM_NOTIFY संदेशों में रुचि रखते हैं - वहाँ विशेष लोगों (CDN   INITDONE, CDN   FOLDERCHANGE, आदि) का एक समूह है।

मैंने कुछ सुंदर विस्तृत कुछ बार बनाए हैं, मेरी इच्छा है कि मैं एक स्क्रीनशॉट शामिल कर सकूं।

+1

धन्यवाद यह अच्छा लग रहा है! मैंने पहले माउस ईवेंट और कीस्ट्रोक को पकड़ने के लिए हुक सेट अप किए हैं। क्या आप समझा सकते हैं कि बुनियादी कदम क्या हैं i.e.मेरा कोड कहां रहता है? क्या यह कहीं एक डीएल होगा? क्या VisualStudio.Net 2003 या SharpDevelop का उपयोग करके ऐसा करने का कोई तरीका है? धन्यवाद – ajp

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