2017-08-20 46 views
0
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; 

,你可以在這裏看到我在10個groupbuttonitems在所謂的「ButtonGroup1」項動態地使用循環在這裏,我創建onClick事件爲每一個=「ButtonGroup1」 onclick事件 這裏是ButtonGroup1的OnClick事件GET grpbuttonitem指數C++

void __fastcall TFrm_Test2::ButtonGroup1Click(TObject *Sender) 
{ 
Edit1->Text = ButtonGroup1->ItemIndex; 
} 

但問題是,當我在任何groupbuttonitem點擊它總是= -1它不可能是不變

enter image description here

,當我試圖使用此代碼

Edit1->Text = ButtonGroup1->Items->Items[1]->ID; 

我不能讓這組按鈕項被點擊

獲得項目索引

所以任何人都可以幫助我..

+0

該指數是此代碼爲C++ Builder的? – VTT

+0

'Add()'插在後面還是前面?如果前面,你總是修改相同的實例。 – Aganju

+0

前面,你說得對。但如果我使用插入(int)它將是同樣的問題 – Doksh

回答

0

感謝所有我解決它最終在buttongroup組件事件中使用名爲OnButtonClicked的事件。這樣

 void __fastcall TFrm_Orders::BG1ButtonClicked(TObject *Sender, int Index) { 
Edit1->Text = ButtonGroup1->Items->Items[Index]->ID; 
} 

here is the event name

指數值是點擊項目上的ButtonGroup