for (int i = 1; i <= 10; i++) {
ButtonGroup1->Items->Add() ;
ButtonGroup1->Items->Items[i-1]->Caption = Q_Cat->FieldByName("cat_name")->AsString;
ButtonGroup1->Items->Items[i-1]->OnClick = ButtonGroup1->OnClick;正如您在这里看到的,我在名为" ButtonGroup1“的项中使用for循环动态创建了10个groupbuttonitems项,并为每个= "ButtonGroup1”onClick事件创建了onClick事件,这是ButtonGroup1 OnClick事件
void __fastcall TFrm_Test2::ButtonGroup1Click(TObject *Sender)
{
Edit1->Text = ButtonGroup1->ItemIndex;
} 但问题是,当我点击任何分组按钮项目时,它总是= -1 \f25-1\f25-1\f6不能改变

当我尝试使用下面的代码获取项目索引时
Edit1->Text = ButtonGroup1->Items->Items[1]->ID;我无法获取单击了哪个组按钮项
所以任何人都可以帮助我..
发布于 2017-08-22 17:17:08
感谢大家,我最终解决了这个问题,在buttongroup组件事件中使用了名为OnButtonClicked的事件。像这样
void __fastcall TFrm_Orders::BG1ButtonClicked(TObject *Sender, int Index) {
Edit1->Text = ButtonGroup1->Items->Items[Index]->ID;
} 索引值是按钮组上被点击项目的索引
https://stackoverflow.com/questions/45784311
复制相似问题