回车跳到下一个EDIT

1.按下方法
procedure TForm2.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=VK_RETURN then
SelectNext(ActiveControl,true,true);
end;

2.按下经过
procedure TForm2.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
方法1:
if key=#13 then
begin
Perform(cm_dialogkey,vk_tab,0); //焦点按照Taborder的顺序下移
exit;
end;
方法2:
if key = #13 then
begin
key:=#0;
Self.ActiveControl := FindNextControl((Sender as TWinControl),true,true,false);
end;
方法3:
if Key=#13 then
Begin
Key:=#0;
Perform(wm_nextdlgctl,0,0);
End;
end;

PS:Perform是什么?
1:这和sendmessage是一样的,只不过做了个封装而
2:比如响应回车键跳到下一个输入窗口吧,perform(WM_NextDlgCtl,0,0)
3:PerForm是TControl的一个通用方法,目的是绕过Windows本身的消息循环,而将消息直接发给要发的Control

相关文章:

  • 2021-07-25
  • 2021-12-01
  • 2022-12-23
  • 2021-06-23
  • 2021-06-26
  • 2021-06-06
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-09-12
  • 2021-07-19
  • 2022-12-23
  • 2022-01-07
相关资源
相似解决方案