如何判断radiogroup中动态加入的按钮哪个被checked(50分)

  • 主题发起人 主题发起人 nancycm
  • 开始时间 开始时间
N

nancycm

Unregistered / Unconfirmed
GUEST, unregistred user!

我向radiogroup 中动态加入按钮若干,想在程序中实现,当按下其中一个按钮时判断
是哪个按钮,并获得按钮的名称,把这个名称的string值传给一个变量这个该怎么实现??
 
//先创建一过程如下;
procedure TForm1.BtnClick(Sender: TObject);
begin
str:=TButton(Sender).name;
end;
//然后在动态创建的button中加入以下代码
with button do
begin
...
button.onclick:=btnclick();
end;
搞定
 
参考下面的例子
var
st:sfring
begin
case radiogroup1.ItemIndex of
0:st:=radiogroup1.radiogroup1.Items[0].Values;
1:st:=radiogroup1.radiogroup1.Items[1].Values;
..
end;
end;
 
to andy_gou
为什么有两个radiogroup1.?是写错了吗?
 

procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
showmessage(RadioGroup1.items[RadioGroup1.ItemIndex]);
end;
 
to 影子 老兄

我不是想把radioButton的值显示出来,而是判断之后传递给参数呀
 

也许我误会了你的意思,RadioGroup1.items[RadioGroup1.ItemIndex]就是名字,通过赋值就行了。
或者你可以详细一点。
 
先祝大家中秋快乐吧(22得检查我的东东,现在连中秋都无法休息了)

我的源码如下,专家们帮我改改吧,编译不通过,分不够可以再加我是有两个radiogroup,
需要判断是哪个radiogroup中的radiobutton被按,再把按下的radiobutton的值传给变量。
procedure TallfieldForm.yesBtnClick(Sender: TObject);
begin
begin
if JHRGroup.Buttons.Checked and YYBHRGroup.Buttons.Checked then
allJH:=JHRGroup.Items[JHRGroup.ItemIndex];
allYYBH:=YYBHRGroup.items[JHRGroup.ItemIndex]
else if JHRGroup.Buttons.checked and YYBHRGroup.Buttons.Checked=false then
allJH:=JHRGroup.Items[JHRGroup.ItemIndex]
else if JHRGroup.Buttons.Checked=false and YYBHRGroup.Buttons.Checked then
allYYBH:=YYBHRGroup.items[JHRGroup.ItemIndex];
end;
if alldataForm.visible=false then
alldataForm.Visible:=true;
alldataForm.SetFocus;
end;
 
to andy_gou
想过用你的方法,但是我的动态的加入radiobutton,所以不知道该如何确定数字的问题

to 独酷求败
在按钮的点击事件中,首先得弄清楚是哪个按钮按下了,而且我是动态的加入radiobutton
 

中秋快乐![:)]
RadioGroup能自动生成RadioButton,
通过RadioGroup.items[RadioGroup.ItemIndex]完全能确定点击哪个RadioGroup的RadioButton。
动态加入可通过RadioGroup.items.Add方法加入RadioButton。
还不是很清楚你要传什么值。


 
同意 影 子
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部