提示﹕procedure TFrmMain.DBedtEmpyIDKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key = VK_Return then begin if Trim(DBedtEmpyID.Text) = '' then begin DBedtEmpyID.Perform(WM_LButtonDown, 0, 0); DBedtEmpyID.Perform(WM_LButtonUp, 0, 0); end else begin DBedtEnname.Perform(WM_LButtonDown, 0, 0); DBedtEnname.Perform(WM_LButtonUp, 0, 0); end; end; end;
不过还是可以实现啊
procedure TForm1.Edit1Exit(Sender: TObject);
begin
try
strtoint(Edit1.Text)
except
showmessage('no');
Edit1.SetFocus;
end;
end;
Shift: TShiftState);
begin
if Key = VK_Return then
begin
if Trim(DBedtEmpyID.Text) = '' then
begin
DBedtEmpyID.Perform(WM_LButtonDown, 0, 0);
DBedtEmpyID.Perform(WM_LButtonUp, 0, 0);
end
else begin
DBedtEnname.Perform(WM_LButtonDown, 0, 0);
DBedtEnname.Perform(WM_LButtonUp, 0, 0);
end;
end;
end;