2012-01-16 12 views
6

डेल्फी (एम्बरकैडेरो® डेल्फी® 2010 संस्करण 14.0) में मेरे फॉर्म पर टैब ऑर्डर गलत है, जिसका अर्थ है कि टैब कुंजी फॉर्म में प्रतीत होता है कि यादृच्छिक आइटम।डेल्फी टैब ऑर्डर

हालांकि, जब मैं जाता हूं और इसे डेल्फी में बदलता हूं, तो यह वही गलत क्रम में, मेरे लिए उन्हें पुनर्व्यवस्थित करता है!

तो, मैं प्रोग्राम के रूप में उन्हें आवंटित करने का निर्णय लिया:

procedure FixDelphiTabOrder; 
begin 
    Form2.ButtonClear.TabOrder := 2000; 
    Form2.ButtonExport.TabOrder := 1900; 
    Form2.ButtonNew.TabOrder := 1800; 
    Form2.MaxFreq.TabOrder := 1700; 
    Form2.MinFreq.TabOrder := 1600; 
    Form2.Summary.TabOrder := 1500; 
    Form2.Plot6dB.TabOrder := 1400; 
    Form2.Plot3dB.TabOrder := 1300; 
    Form2.Use_dBs.TabOrder := 1200; 
    Form2.PlotPoints.TabOrder := 1100; 
    Form2.PlotPhase.TabOrder := 1000; 
    Form2.Prop8Value.TabOrder := 900; 
    Form2.Prop7Value.TabOrder := 800; 
    Form2.Prop6Value.TabOrder := 700; 
    Form2.Prop5Value.TabOrder := 600; 
    Form2.Prop4Value.TabOrder := 500; 
    Form2.Prop3Value.TabOrder := 400; 
    Form2.Prop2Value.TabOrder := 300; 
    Form2.Prop1Value.TabOrder := 200; 
    Form2.FilterType.TabOrder := 100; 
    ShowMessage(IntToStr(Form2.Prop1Value.TabOrder)); 
end; 

(मैं इसे दोनों पीछे और आगे बताए की कोशिश की है, यह एक ही बात करता है।)

लेकिन यह अभी भी काम नहीं करता। संदेश बॉक्स हर बार 100 के बजाय 7 के साथ पॉप अप करता है। कुछ लगातार क्रम बदल रहा है, लेकिन यह मेरा कोड नहीं है।

यह क्यों है, और क्या इसे ठीक करना संभव है?

यह

+1

@ डेविड इस पर विचार करें। क्षमा करें - पीछे हो गया। –

उत्तर

19

TabOrder सटा हुआ है मेरी ए 2 कम्प्यूटिंग परियोजना के लिए है। पहले नियंत्रण में 0 है। अगले में 1 और इसी तरह से है। आप कोई अंतराल नहीं छोड़ सकते हैं।

जबकि आप TabOrder प्रोग्रामेटिक रूप से असाइन कर सकते हैं, मुझे व्यक्तिगत रूप से ऐसा करने के लिए जीयूआई का उपयोग करना सबसे आसान लगता है। फॉर्म पर राइट क्लिक करें, या वास्तव में एक कंटेनर नियंत्रण पर, और टैब ऑर्डर मेनू आइटम का चयन करें। तो फिर तुम इस तरह एक संवाद देखेंगे:

enter image description here

आप पुनः आदेश देने के तीर बटन का उपयोग कर सकते हैं, या आप बस पुनः आदेश देने के आइटम खींच सकते हैं। यह मेरे विचार में काफी अच्छी तरह से काम करता है लेकिन आपको याद रखना चाहिए कि नियंत्रण जिसमें अन्य नियंत्रण होते हैं (जैसे पैनल, टैबशीट इत्यादि) का अपना टैब ऑर्डर होता है। इस तरह के नियंत्रण के लिए आपको उस नियंत्रण का चयन करने की आवश्यकता है, राइट-क्लिक करें और उसके बाद उस कंटेनर के बच्चों के लिए टैब ऑर्डर संशोधित करें।

+0

बहुत ज्यादा बीबीसी बेसिक।मुझे लगता है कि अगर मैं कुछ नया जोड़ना चाहता हूं तो इसका पुन: ऑर्डर करने का मतलब है। –

+0

आह हाँ, बीबीसी माइक्रो। मेरे पास एक मॉडल बी था। 'रेन 10, 10' घंटी बजती प्रतीत होती है! –

+0

यदि आप घटकों की टैग प्रॉपर्टी का उपयोग नहीं कर रहे हैं तो आप टैग प्रॉपर्टी में अपने विज्ञापन-टैब 'टैबऑर्डर' मान असाइन कर सकते हैं और फिर प्रोग्राम मानों को टैग मानों के आधार पर टैब ऑर्डर सेट करने के लिए एक प्रक्रिया बना सकते हैं। आप आसानी से इंटरमीडिएट टैग के साथ नए घटकों को सम्मिलित कर सकते हैं और टैब ऑर्डर प्रक्रिया स्वचालित रूप से इसे सॉर्ट कर सकते हैं। –

11

यदि मैं आपको अच्छी तरह समझ गया, CnPack डिज़ाइन समय में सहायता कर सकता है।

नीचे आप एक सुविधा देख सकते हैं। जब आप घटकों को फॉर्म में डालते हैं तो सीएनपैक आपको टैब ऑर्डर दिखा सकता है। इससे आपकी सहायता हो सकती है जब आपके पास कई संपादन, बटन या पैनल हों।
CnPack Display TabOrders in Designing Mode

एक अन्य विशेषता यह बटन "फार्म में ऑटो सेट टैब आदेश", कि यह टैब आदेश है परिभाषित करने के लिए प्रत्येक नियंत्रण की स्थिति का उपयोग टैब आदेश सेट है। बटन दबाए जाने के बाद उसी फॉर्म के नीचे देखें। "Auto Set Tab Orders in the Form" button

मुझे बड़े रूपों को डिजाइन करते समय उन्हें बेहद मदद मिलती है। एक अन्य विकल्प GExperts टैब आदेश स्क्रीन है कि एक ही "आदेश स्थिति से" सुविधा होगी: enter image description here

+0

+1 बहुत ही उपयोगी उत्तर दो बहुत उपयोगी और शक्तिशाली उपकरण दिखा रहा है –

1

तरह से मैं सेट टैब क्रम आप टैब क्रम चाहते क्रम में प्रत्येक घटक का चयन करके है, तो नियंत्रण में कटौती क्लिपबोर्ड पर (CTRL-X), फिर पेस्ट करें (CTRL-V) उन्हें फिर से वापस करें।

+0

आप या तो Cnpack या GExperts का उपयोग करके इसे अधिक आसान कर सकते हैं .. –

+0

@FabricioAraujo - वास्तव में, कुछ नियंत्रणों के लिए काफी तेज़ तरीका है। मैं इसका इस्तेमाल करूंगा! यदि आपके पास बहुत से हैं तो मैं वास्तव में सीएनपीक की सिफारिश करता हूं – Ampere

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