2009-02-04 9 views
6

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

मुझे लगता है कि एक अच्छा आधुनिक दृष्टिकोण यह है कि फ़ायरफ़ॉक्स कैसे एक्सटेंशन इंस्टॉल करता है (नीचे एक स्नैपशॉट)।

मेरा सवाल यह है कि डेल्फी (win32) में आसानी से ऐसा जीयूआई कैसे बनाया जाए? क्या ऐसे कोई घटक हैं जिनका आप इस तरह के व्यवहार की नकल करते हैं या क्या मुझे पैनलों का उपयोग करके इसे स्ट्रैच से कोड करने की आवश्यकता होगी? (IMO एक बहुत बोझिल काम मैं से बचने के लिए चाहते हैं - चयन तर्क, resizings, आदि ...)

alt text http://i41.tinypic.com/16k6gd5.png

उत्तर

9

आप मानक घटकों के साथ कुछ समान (बिल्कुल नहीं) कर सकते हैं; TDBCtrlGrid, TSpeedButton, ...

alt text http://img8.imageshack.us/img8/9585/imagen29ox3.png

+0

वाह!बहुत धन्यवाद नेफ्टाली! :) –

+0

छवि अब उपलब्ध नहीं है! –

+0

क्षमा करें। यह एक मुफ्त सर्वर में था और समाप्त हो गया है। मैं अगली बार नोट करता हूं। :-( –

3

प्रत्येक सूची आइटम के लिए एक TFrame का उपयोग करते हुए और उन्हें एक TScrollBox पर सभी निरपेक्ष शीर्ष डाल सकता है काम। यह भी देखें TDBCtrlGrid जो डेटासेट के साथ संयोजन में ऐसा कुछ करता है।

+0

धन्यवाद लार्स, मैं एक समान दिशा Neftali सुझाव दिया गया है। –

2

यह मौजूदा डेल्फी नियंत्रणों के साथ किया जा सकता है।

TCustomListBox नियंत्रण में उदाहरण के लिए यदि आप अपने स्वयं सूची आइटम आकर्षित करने के लिए अपनी खुद की OnDrawItem घटना बना सकते हैं। आइटम ऊंचाई को बदलने के लिए आपको अपना खुद का ऑनमेजरइटम बनाने की भी आवश्यकता है।

कुछ मामलों में यह बहुत सीमित है, इसलिए यदि आप अधिक स्वतंत्रता चाहते हैं तो आपको इसे खरोंच से करने की आवश्यकता होगी।

+0

यह वही है जो मैं टालना चाहता था :-) धन्यवाद हालांकि! –

7

यदि आप डेल्फी 2007 या डेल्फी 200 का उपयोग कर रहे हैं, तो आप TCategoryButtons ('अतिरिक्त' घटक पैलेट पृष्ठ से) का उपयोग करके कुछ ऐसा करने में सक्षम हो सकते हैं। इसे एक फॉर्म पर छोड़ दें और पॉपअप मेनू को प्रदर्शित करने के लिए राइट क्लिक करें, और फिर "श्रेणियाँ संपादक ..." पर क्लिक करें। परिणामस्वरूप संवाद के साथ एक श्रेणी जोड़ें, इसे कैप्शन सेट करें, और वैकल्पिक रूप से इसमें मौजूद आइटम सेट करें। बिल्कुल वही नहीं, लेकिन यह आपको जो चाहिए वह कर सकता है।

आप डेल्फी 2007 प्रोजेक्ट्स-> विकल्प संवाद का अनुकरण करने के लिए एक TTreeView (यदि आपके पास ऑब्जेक्ट की श्रेणियां हैं) या TListView के साथ एक संवाद का उपयोग भी कर सकते हैं। TreeView या ListView में किसी आइटम पर क्लिक करने से ऑब्जेक्ट को कॉन्फ़िगर करने के लिए TPageControl का उचित पृष्ठ प्रदर्शित होता है।

+0

टीसीबीनबटन मेरा जवाब था, इसलिए आपको मेरा वोट मिला। –

+0

धन्यवाद, सीज़र। अंत में एक ओपनआईडी स्थापित करने के लिए चारों ओर मिल गया ताकि मैं यहां सवालों का जवाब दे सकूं। अवसर पर छिपे हुए थे, लेकिन केवल थोड़े समय के लिए। –

+0

यह डी 2007 और उससे ऊपर की व्यवहार्य पसंद प्रतीत होता है। हालांकि दुर्भाग्य से मेरे पास यह नहीं है। धन्यवाद। –

2

मैं ज्यादातर लार्स से सहमत हूं, लेकिन मैं पैनल के बजाय प्रत्येक आइटम के लिए एक फ्रेम का उपयोग करता हूं। यह अपनी फाइल में अलग होगा, और इसके लिए आपको आसान डिज़ाइनटाइम समर्थन मिलेगा।

+0

अच्छा सुझाव। मैंने अपना जवाब अपडेट किया। –

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