2012-03-29 16 views
6

Ben bu şekildeNeden TGroupBox'ımın ComponentCount özelliği 0 döndürüyor?

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

yılında GroupBox içinde olan tüm bileşenlerin Enabled özelliğini ayarlamak çalışıyorum, içeride birkaç bileşenlerle bir TGroupBox var ama ComponentCount i' ne zaman 0 döndürür eksik mi? Bir bileşen tarafından ait bileşenlerin sayısını almak her çocuklara üzerinde size ControlCount ve Controls özelliklerini kullanmalıdır denetimleri yinelemek için

cevap

14

ComponentCount özelliktir.

+4

ayrıca bu konuda ayrıntılı için, tasarım zamanında yerleştirilen bileşenler ** aittir ** zamanında ebeveyn 'TForm' tarafından, Bu yüzden' Components' listesinde görünmüyor yüzden 'TGroupBox'. Bunun yerine, 'TForm'un 'Bileşenler' listesinde yer alırlar. –

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

Kodun bir açıklaması, bir cevabı faydalı hale getirmek için uzun bir yol kat eder. –

+0

Yığın akışında, Python sık sık sadece kodları göstererek yanıtlar. Bazı sorular için aslında çok ters ve yararlı bir form. Bence Delphi için çok kötü bir fikir de yoktur, hatta birkaç kelime bile hiçbir şeyden daha iyi değildir. –

İlgili konular