2012-03-29 14 views
6

मैं अंदर मैं सभी घटकों को जो इस तरह सेक्यों मेरे TGroupBox की घटक गणना संपत्ति 0 देता है?

for i := 0 to GroupBox1.ComponentCount -1 do 
    if (GroupBox1.Components[i]) is TWinControl then 
    TWinControl(GroupBox1.Components[i]).Enabled:=False; 

में GroupBox के अंदर कर रहे हैं की Enabled गुण सेट करने के लिए कोशिश कर रहा हूँ कई घटकों के साथ एक TGroupBox है, लेकिन ComponentCount हमेशा 0 देता है, मैं क्या ' मैं लापता हूँ?

उत्तर

14

ComponentCount संपत्ति के लिए, घटकों एक घटक के स्वामित्व की संख्या को पुनः प्राप्त सभी बच्चों पर नियंत्रण आप ControlCount और Controls गुण का उपयोग करना चाहिए को दोहराना।

+4

इस पर आगे विस्तार से बता दें घटक है कि डिजाइन समय पर रखा जाता है ** स्वामित्व में हैं ** माता पिता 'TForm' कार्यावधि में से, इसलिए वे के' Components' सूची में दिखाई नहीं देते है 'TGroupBox'। वे इसके बजाय 'TForm' की 'घटक' सूची में हैं। –

-1
for i := 0 to GroupBox1.ControlCount - 1 do 
    if (GroupBox1.Controls[i]) is TWinControl then 
     TWinControl(GroupBox1.Controls[i]).Enabled:=False; 
+2

कोड का एक स्पष्टीकरण उत्तर देने के लिए एक लंबा रास्ता तय करता है। –

+0

स्टैक ओवरफ्लो पर, पायथन उत्तर अक्सर कोड दिखाते हैं। यह वास्तव में कुछ सवालों के लिए एक बहुत ही कमजोर और सहायक रूप है। मुझे नहीं लगता कि डेल्फी के लिए यह बहुत बुरा विचार है, हालांकि कुछ शब्द कुछ भी नहीं है। –

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