1

我尝试了以下方法,但它似乎不起作用并且不完整。

void __fastcall TForm1::Button1Click(TObject *Sender) 
{
    TButton **ButtonArray = NULL;
    ButtonArray = new TButton*[5];

    for(int x = 0; x < 5; ++x) 
    {
        ButtonArray[x] = new TButton(this);
        ButtonArray[x]->Caption = (AnsiString)"teste " + x + " - " + (1+random(100));
        ButtonArray[x]->Left = 25 + 4 * random(100);
        ButtonArray[x]->Top = 25 + 4 * random(100);
    }
}

代码编译没有问题,但似乎没有显示任何按钮。此外,数组中没有任何操作,并且按钮的预定义最大值为 5。

4

1 回答 1

3

要使它们在您的表单中可见,您必须设置按钮的 Parent 属性。

ButtonArray[ x ]->Parent = this;

没有行动,因为你没有设置一个。

void __fastcall TForm1::ButtonClick(TObject *Sender)
{
   MessageBox( Handle, L"Hello", L"Message", MB_OK );
}

在创建按钮时...

ButtonArray[ x ]->OnClick = ButtonClick;
于 2013-06-24T12:35:48.393 回答