一个简单问题(20分)

C

ccat

Unregistered / Unconfirmed
GUEST, unregistred user!
edit1,edit2两控件,我想在edit1中输入后Enter转到edit2输入框,就在edit1中加入
onkeypress 事件代码,结果功能是实现了,为何回车时总有报警声??
 
先设form1.Keypreview:=TRUE
然后ONKEYPRESS时

Procedure Tform1.FormKeyPress(Sender: Tobject; var Key: Char);
begin
If key = #13 then
Begin
Key:= #0;
Perform(Wm_NextDlgCtl,0,0);
end;
end;

 
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
If key = #13 then
Edit2.SetFocus
end;
 
我的机子没有声音啊
 
不用:先设form1.Keypreview:=TRUE
直接:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
Key:=#0;
Edit2.SetFocus;
end;
end;
 
如TDA2822M可以,请教wjiachun多余两句有何用?
 
perform(Wm_NextDlgCtl,0,0); //将焦点移到下一个控件。也就是相当于TAB键的功能。
 
有时可能是机器设置的问题,与程序没有关系!
 
就是onkeypress中代码的原因,加上Key := #0;这一句就可以避免你说的报警音。
 
加上一句key:=0;就行了
 
顶部