2010-11-26 69 views
7

任何讓TRadioGroup組件中的某個選項不可見的想法? (德爾福7)如何在TRadioGroup中隱藏其中一個項目?

alt text

+1

沒有確切知道你的理由這樣做,我supose要刪除一些選項是不可用或不適用。因此,作爲一般用戶界面指南,我建議您只是**禁用**而不是。 – 2010-11-26 10:59:18

回答

15

我認爲這將是更多的語義使用Buttons[]屬性代替,所以

RadioGroup.Buttons[Index].Visible := False 

和可用性明智,禁用(Enabled := False)而不是隱藏

4
RadioGroup1.Controls[...].Visible := False; 
+2

然而,它留下一個空白的地方,該項目變成隱形:) :) – Plastkort 2010-11-26 07:12:58

1

取下TRadioGroup.Items屬性所需的字符串:

RadioGroup1.Items.Delete(IndexHere); 
+0

其中一個項目上移其他項目(所以如果你在其他地方使用索引,你需要調整)。 – 2010-11-26 10:55:38

0

如果您想要保留radio組中的字符串/ Items(可見或不可)的itemindex,您將不得不將它們保留在其他地方。因此,聲明一個TStringlist,分別保存所有的radiogroup項目。然後在無線電組選擇後查找該字符串列表中的索引。是這樣的:

RadioGroup: TRadioGroup; 
AllRadioItems: TStringList; 
fill both... ect 


RealIndex := AllRadioItems.IndexOf(RadioGroup.Items[RadioGroup.ItemIndex]); 

一個小的開銷,但簡單易懂...