我在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;
在各个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;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货