我在窗体上放了一个RadioGroup1,把它的items加了有20多个,同时也加入了20多
个edit控件。我想实现这样一个功能:就是每当我点一下RadioGroup1上的其中一个选项,那么相应的edit控件就要得到焦点,我不想一个一个地设置!
请问各位大哥,要如何实现比较简单?
请给出代码,谢谢各位了。
解决方案 »
- 结束进程问题!!
- AdoTable被激活的时候,到底要干些什么?
- cxGridDBTableView的OnEditChanged事件中如何取行数、列数
- 用delphi作web开发,写的是isapi,用到了TDataSet等数据库控件,需要对这些控件作线程同步吗?
- 动态数组和指针操作为什么出错?
- 怎样把listview中数据导入到EXCEL表中??
- 请大家帮忙!用什么函数可以取得任何一个字符串的长度。
- 各住兄台!一个打印的问题!急!在线等待……
- 请问应该如何设置窗体的背景色以及字体的颜色,才不刺眼,而且好看?
- 如何将一个已经建好的Frame动态的嵌入到特定的Panel中?
- 急!!1!1
- 请用过ODAC开发Oracle数据库应用程序的朋友谈谈感受和用法!参与有分啊!!!
如果是Edit0, Edit1.....EditNEdit0和RadioGroup1.ItemIndex[0]关联的话.....procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
if (Self.FindComponent('Edit' + IntToStr(RadioGroup1.ItemIndex)) is TEdit) then
begin
((Self.FindComponent('Edit' + IntToStr(RadioGroup1.ItemIndex)) as TEdit).SetFocus;
end;
end;
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls;type
TForm1 = class(TForm)
RadioGroup1: TRadioGroup;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
procedure FormCreate(Sender: TObject);
procedure RadioGroup1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
type
editarray=array [0..5] of tedit;
var
Form1: TForm1;
var_editarray:editarray;
implementation{$R *.DFM}procedure TForm1.FormCreate(Sender: TObject);
var
i:integer;begin
for i:=0 to 5 do
begin
form1.radiogroup1.items.add(inttostr(i));
end; var_editarray[0]:=edit1;
var_editarray[1]:=edit2;
var_editarray[2]:=edit3;
var_editarray[3]:=edit4;
var_editarray[4]:=edit5;
var_editarray[5]:=edit6;end;
procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
tedit(var_editarray[radiogroup1.ItemIndex]).setfocus;
end;end.
1。上面的例子,我还要加一点,就是每但我点RadioGroup1的时候,还能把edit
控件的内容清空。 2。就是上面的,如果反过来呢,就是说当我要点edit控件,那么相应的RadioGroup1的也能选中,如何实现呢?
---------------------------------------------------------------
太长了, 没法给你留言
---------------------------------------------------------------
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;type
TForm1 = class(TForm)
RadioGroup1: TRadioGroup;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
procedure TEditOnClick(Sender: TObject);
procedure RadioGroup1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}{ TForm1 }//把所有的Edit的OnClick事件关联到下面的事件
//选中所有的Edit, 在Events页面点击OnClick选中TEditOnClick即可
procedure TForm1.TEditOnClick(Sender: TObject);
var
EditIndex: string;
begin
with Sender do
begin
if Sender is TEdit then
begin
EditIndex := (Sender as TEdit).Name;
Delete(EditIndex, 1, 4);
RadioGroup1.ItemIndex := StrToInt(EditIndex) - 1;
end;
end;
end;procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
if Self.FindComponent('Edit' + IntToStr(RadioGroup1.ItemIndex + 1)) is TEdit then
begin
(Self.FindComponent('Edit' + IntToStr(RadioGroup1.ItemIndex + 1)) as TEdit).SetFocus;
(Self.FindComponent('Edit' + IntToStr(RadioGroup1.ItemIndex + 1)) as TEdit).Clear;
end;
end;end.