很多时候,我们都用Tab键来移动输入焦点,但是有些情况下,比如输入用户名后还需要输入密码,由于习惯性,你有可能在输入用户名后就按了一下回车,希望到密码框里继续输入,可是却按了确定键,报告密码错误,所以使用以下代码来让回车键代替TAB键下移一个控件:
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)在窗体上放两个控件,Edit1和Edit2,再加入下列代码拦截击键:
Procedure TForm1.Edit1KeyPress(Sender:Tobject;Var Key:Char);Beginif key=#13 then{ 判断是按执行键}if not (ActiveControl is TDbgrid) ThenBegin { 不是在TDbgrid控件内}key:=#0;perform(WM_NEXTDLGCTL,0,0);{移动到下一个控件}end elseif (ActiveControl is TDbgrid) Then{是在 TDbgrid 控件内}beginWith TDbgrid(ActiveControl) Doif Selectedindex(FieldCount-1) thenSelectedindex:=Selectedindex+1{ 移动到下一字段}else Selectedindex:=0;end;End;(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)
由于有时我们会使用到TDbgrid控件,那么就需要让按回车键下移到下一个字段上,而不是到下一个控件上,所以多了些判断码。