2014-03-28 155 views
0

我需要用7個不同的RadioButton動態創建TRadioGroup。在運行時創建TRadioGroup

單選按鈕如下:

Screws 12mm

Canned Peaches 250g

Refil Blue Pen

Tomatoes

Spaghetti

​​

Clear glue 250ml

以下是我認爲它必須尋找:

rgpOptions := TRadioGroup.Create(frmSale); 
    rgpOptions.Parent := frmSale; 
    rgpOptions.Left := 30; 
    rgpOptions.Top := 100; 
    rgpOptions.Width := 300; 
    rgpOptions.Height := 140; 
    rgpOptions.Visible := True; 
    rgpOptions.Items.Add := (
          1 := 'Screws 12mm'; 
          2 := 'Canned Peaches 250g'; 
          3 := 'Refil Blue Pen'; 
          4 := 'Tomatoes'; 
          5 := 'Spaghetti'; 
          6 := 'Twin Flex 5mm'; 
          7 := 'Clear Glue'; 
         ); 

(BTW我知道它不會編譯,這就是爲什麼我問)

+2

一次添加一個項目rgpOptions.Items.Add('Screws 12mm'); rgpOptions.Items.Add('Can Peaches 250g'); etc – Graymatter

+0

爲什麼這是downvoted兩次?!?!我展示了我的研究成果併爲此做出了努力? Jeez –

+1

不知道,每個人都必須開始成爲我認爲的專家。 upvoted補償。 – Johan

回答

4

你每個按鈕需要撥打Items.Add一次:

rgpOptions.Items.Add('Screws 12mm'); 
rgpOptions.Items.Add('Canned Peaches 250g'); 
// etc. 

或者,如果你有一個字符串列表中的項目已經,每個按鈕一行文本,你可以寫:

rgpOptions.Items.Assign(OptionsStringList); 
+0

謝謝老兄,對不起有關xD的其他問題感到遺憾......受到了影響....而且我沒有接近德爾福.. –

5

如果你要使用新的東西比德爾福7,你」重新尋找的TStringList.ItemsAddStrings(TArray<String>)方法,它允許您將array of string增加的RadioGroup中的項目清單:

rgpOptions.Items.AddStrings(
    TArray<String>.Create(
     'Screws 12mm', 
     'Canned Peaches 250g', 
     'Refil Blue Pen', 
     'Tomatoes', 
     'Spaghetti', 
     'Twin Flex 5m', 
     'Clear glue 250ml' 
    ) 
); 
4

如果您下載並安裝GExperts(http://www.gexperts.org/download/)。
你會得到一個新的菜單和上下文菜單的一些擴展。

一個新選項是<component to code>

enter image description here

如果選擇一個容器組件(如TPanel),它會爲所有擁有的組件創建代碼。

+0

這實際上非常有用。謝謝! –

+0

謝謝你! –