回车代替tab { form1.keypress:=true; procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char); begin if key=#13 then if not (activecontrol is tdbgrid) then begin key:=#0; perform(wm_nextdlgctl,0,0); end else if (activecontrol is tdbgrid ) then begin with tdbgrid(activecontrol) do if selectedindex<(fieldcount-1) then selectedindex:=selectedindex+1 else selectedindex:=0; end; end;
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char); begin if Key=#13 then begin key:=#0; Perform(WM_NEXTDLGCTL,0,0); end; end;
if Key=#13 then key:=#0;
if Key=#13 then PostMessage(handle,WM_KEYDOWN,VK_TAB,0);
procedure TF_yhzl.Edit2KeyPress(Sender: TObject; var Key: Char); begin if(key=#13)then BitBtn1.SetFocus ; end;
if key=#13 then button1.setfocus;
if Key=#13 then PostMessage(handle,WM_KEYDOWN,VK_TAB,0);
首先,在主窗体中声明以下private过程:{------} procedure TMainForm.DoEnterAsTab(var Msg: TMsg; var Handled: Boolean); begin if Msg.Message = WM_KEYDOWN then begin if Msg.wParam = VK_RETURN then Keybd_event(VK_TAB, 0, 0, 0); end; //if end; {------}在主窗体的OnCreate事件中加入:{------} Application.OnMessage := DoEnterAsTab; {------}程序运行期间不断接收 WM_KEYDOWN信息, 若按下的键是VK_RETURN (#13),我们模拟一个键盘事件, 把VK_TAB作为参数传送。在整个程序中都起作用。
{
form1.keypress:=true;
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
if not (activecontrol is tdbgrid) then
begin
key:=#0;
perform(wm_nextdlgctl,0,0);
end else
if (activecontrol is tdbgrid ) then
begin
with tdbgrid(activecontrol) do
if selectedindex<(fieldcount-1) then
selectedindex:=selectedindex+1
else selectedindex:=0;
end;
end;
begin
if Key=#13 then
begin
key:=#0;
Perform(WM_NEXTDLGCTL,0,0);
end;
end;
begin
if(key=#13)then
BitBtn1.SetFocus ;
end;
if key=#13 then button1.setfocus;
procedure TMainForm.DoEnterAsTab(var Msg: TMsg; var Handled: Boolean);
begin
if Msg.Message = WM_KEYDOWN then
begin
if Msg.wParam = VK_RETURN then
Keybd_event(VK_TAB, 0, 0, 0);
end; //if
end;
{------}在主窗体的OnCreate事件中加入:{------}
Application.OnMessage := DoEnterAsTab;
{------}程序运行期间不断接收 WM_KEYDOWN信息, 若按下的键是VK_RETURN (#13),我们模拟一个键盘事件, 把VK_TAB作为参数传送。在整个程序中都起作用。