2014-03-28 156 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

谢谢你! –