回车跳到下一个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

posted on 2016-09-05 17:37  疯狂delphi  阅读(2419)  评论(0编辑  收藏  举报

导航