procedure TForm1.ComboBox1Change(Sender: TObject); begin TRadioButton(ComboBox1.Items.Objects[ComboBox1.ItemIndex]).Checked:=True; end;procedure TForm1.FormCreate(Sender: TObject); var Mlist:array [0..9] of string; i,col,row:Integer; RB:TRadioButton; begin Combobox1.Clear; col:=0; Row:=0; Mlist[0]:='一年一班'; Mlist[1]:='一年二班'; Mlist[2]:='一年三班'; Mlist[3]:='二年一班'; Mlist[4]:='二年二班'; Mlist[5]:='二年三班'; Mlist[6]:='三年一班'; Mlist[7]:='三年二班'; Mlist[8]:='三年三班'; Mlist[9]:='四年一班'; for i:=0 to 9 do begin RB:=TRadioButton.Create(self); RB.Caption:=Mlist[i]; GroupBox1.InsertControl(RB); Rb.Width:=80; RB.Left:=GroupBox1.ClientRect.Left+5 + Row * RB.Width; if (Rb.Left+Rb.Width) >= (GroupBox1.Width-50) then begin Row:=0; inc(col); end else inc(Row); if i=0 then row:=0; RB.Left:=GroupBox1.ClientRect.Left+5 + Row * RB.Width; Rb.Top:=GroupBox1.ClientRect.Top+18 + col * Rb.Height; ComboBox1.AddItem(Mlist[i],RB); end; end;看看就应该明白了``
当你在Combobox里选择单选按钮名称的时候,单选按钮也会获得焦点``
begin
TRadioButton(ComboBox1.Items.Objects[ComboBox1.ItemIndex]).Checked:=True;
end;procedure TForm1.FormCreate(Sender: TObject);
var
Mlist:array [0..9] of string;
i,col,row:Integer;
RB:TRadioButton;
begin
Combobox1.Clear;
col:=0;
Row:=0;
Mlist[0]:='一年一班';
Mlist[1]:='一年二班';
Mlist[2]:='一年三班';
Mlist[3]:='二年一班';
Mlist[4]:='二年二班';
Mlist[5]:='二年三班';
Mlist[6]:='三年一班';
Mlist[7]:='三年二班';
Mlist[8]:='三年三班';
Mlist[9]:='四年一班';
for i:=0 to 9 do
begin
RB:=TRadioButton.Create(self);
RB.Caption:=Mlist[i];
GroupBox1.InsertControl(RB);
Rb.Width:=80;
RB.Left:=GroupBox1.ClientRect.Left+5 + Row * RB.Width;
if (Rb.Left+Rb.Width) >= (GroupBox1.Width-50) then
begin
Row:=0;
inc(col);
end
else
inc(Row);
if i=0 then row:=0;
RB.Left:=GroupBox1.ClientRect.Left+5 + Row * RB.Width;
Rb.Top:=GroupBox1.ClientRect.Top+18 + col * Rb.Height;
ComboBox1.AddItem(Mlist[i],RB);
end;
end;看看就应该明白了``
AddItem('Button1',Button1);
TButton(ComboBox1.Items.Objects[0]).Caption := 'Test';
那我也就說說自己的體會的吧
form1.ComboBox1.AddItem(str:string, AObject:TObject)中這個AObject就是Tcombobox控件在創建下拉列表時讓其列表與相應的控件產生關聯,在觸發Tcombobox事件時能對相應控件進行處理,就說說7樓這個例子,“ComboBox1.AddItem(Mlist[i],RB);”此語句如果改為:“combobox1.items.add(Mlist[i]),”那我們在combobox1的onlick中就不能進行“TRadioButton(combobox1.Items.Objects[combobox1.ItemIndex]).Checked:=true;”,反之則可以.呵呵,隨便說說。