我在MDI主窗口中有一个TIMER1,在MDI子窗口中有好几个DBEDIT
在各个DBEDIT的KEYPRESS中有如下代码
procedure Tfrxscb.dbedit1KeyPress(Sender: TObject; var Key: Char);
var i:single;
   code:integer;
begin
 if key=#13 then
  BEGIN
   val(dbedit1.Text,i,code);
   IF (code<>0)or(i>450)or(i<0)then
     begin
      showmessage('输入错误或设备异常');
      dbedit1.SetFocus;
     end
    else
    dbedit2.SetFocus;
  end;
procedure Tfrxscb.dbedit2KeyPress(Sender: TObject; var Key: Char);
var i:single;
   code:integer;
begin
 if key=#13 then
  BEGIN
   val(dbedit2.Text,i,code);
   IF (code<>0)or(i>450)or(i<0)then
     begin
      showmessage('输入错误或设备异常');
      dbedit2.SetFocus;
     end
    else
    dbedit3.SetFocus;
  end;
  key:=#0;
end;
奇怪的是在执行完DBEDIT1的KeyPress后DBEDIT2会获得焦点但对键盘的按键除了回车外其它的键不响应,
我用单步执行看后发现在执行完DBEDIT1的KeyPress后竟然去执行主窗口中的TIMER.TIMER
有请高手帮忙一下!!!!!
procedure Tmaimform.Timer1Timer(Sender: TObject);
begin
statusbar1.Panels[1].Text:=datetimetostr(now);
case dayofweek(date) of
   2:statusbar1.panels[2].text:='星期一';
   3:statusbar1.Panels[2].Text:='星期二';
   4:statusbar1.Panels[2].Text:='星期三';
   5:statusbar1.Panels[2].Text:='星期四';
   6:statusbar1.Panels[2].Text:='星期五';
   7:statusbar1.Panels[2].Text:='星期六';
   1:statusbar1.Panels[2].Text:='星期天';
   end;
end;