如何实现?(TEDIT)(40分)

  • 主题发起人 主题发起人 pckite
  • 开始时间 开始时间
P

pckite

Unregistered / Unconfirmed
GUEST, unregistred user!
现有edit1和edit2,我想在edit1中输入两位数字后,一回车光标就自动跳到edit2中等待输入
如果实现?
 
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
IF KEY=#13 then
begin
key:=#0;
Perform(WM_NEXTDLGCTL,0,0); //postmessage(,,,,)
end;
end;
 
在edit1的onkeydown事件里输入
if key = vk_return then
edit2.setfocus;
 
需要用回车键代替TAB键下移一个控件时,
把KeyPress设为True,加入下列代码拦截击键:
Procedure TForm1.FormKeyPress(Sender:Tobject;Var Key:Char);
Begin
 if key=#13 then { 判断是按执行键}
 if not (ActiveControl is TDbgrid) Then
 Begin { 不是在TDbgrid控件内}
  key:=#0;
  perform(WM_NEXTDLGCTL,0,0);{移动到下一个控件}
 end else
 if (ActiveControl is TDbgrid) Then{是在 TDbgrid 控件内}
 begin
  With TDbgrid(ActiveControl) Do
  if Selectedindex<(FieldCount-1) then

  Selectedindex:=Selectedindex+1{ 移动到下一字段}
  else Selectedindex:=0;
 end;
End;
 
后退
顶部