动态创建一个Tcombobox的数组y,如何回车使焦点从y[n]落到y[n+1]上(100分)

  • 主题发起人 主题发起人 zlibo
  • 开始时间 开始时间
Z

zlibo

Unregistered / Unconfirmed
GUEST, unregistred user!
程序如下:
。。。。。。
for n:=0 to n-1 do
begin
y[n]:=tcombobox.Create(p);//p是Tpanel
y[n].Parent:=p;
y[n].Left:=217;
y[n].Width:=90;
y[n].Top:=n*18+5;
y[n].BevelKind:=bkflat;
y[n].OnKeyPress:=cmbkeypress;
end;

procedure Tfrmgxlr.cmbkeypress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
?????????????????
end;
end;
我觉得问题在于如何获到目前焦点组件的数组下标,应该怎么做呀?
 
在创建的时候设置每个TComboBox类实例的TabOrder属性就好了啊!如第y个动态创建的TComboBox类实例的TabOrder为n,则第y+1个动态创建的TComboBox类实例的TabOrder则为n+1就可以了。
 
这样也行,给分
 
在KeyDown事件里写:
procedure TForm1.ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=vk_return then
key:=vk_down;
end;
 
后退
顶部