在运行时创建TRadioGroup

时间:2014-03-28 07:37:46

标签: delphi delphi-7

我需要使用7个不同的RadioButtons动态创建一个TRadioGroup。

RadioButtons如下:

Screws 12mm

Canned Peaches 250g

Refil Blue Pen

Tomatoes

Spaghetti

Twin Flex 5m

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我知道它没有编译,这就是我要问的原因)

3 个答案:

答案 0 :(得分:5)

如果你打算使用比Delphi 7更新的东西,你正在寻找AddStrings(TArray<String>) TStringList.Items方法,它允许你将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'
    )
);

答案 1 :(得分:4)

您需要为每个按钮拨打Items.Add一次:

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

或者如果你已经有了一个字符串列表中的项目,每个按钮有一行文字,你可以写:

rgpOptions.Items.Assign(OptionsStringList);

答案 2 :(得分:4)

如果您下载并安装GExperts(http://www.gexperts.org/download/) 您将获得一个新菜单和上下文菜单的一些扩展。

其中一个新选项是<component to code>

enter image description here

如果选择容器组件(如TPanel),它也将为所有拥有的组件创建代码。