以下控制回车键代码可供参考procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
     if key=#13 then
          begin
          if (ActiveControl is TDBMemo) then Exit;
          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;
end;

解决方案 »

  1.   

    在onkeypress中可以修改键值,
    如果你不想让tab、up,down等执行if key in (#vk_tab,vk_down,vk_up) then key:=#0;
    其它的都一样,自己修改
      

  2.   

    在onkeypress中可以修改键值,
    如果你不想让tab、up,down等执行if key in (#vk_tab,vk_down,vk_up) then key:=#0;
    其它的都一样,自己修改
      

  3.   

    if key in (#vk_tab,#vk_down,#vk_up) then key:=#0;
      

  4.   

    啊,对不起,我没说清楚,在STRINGGRID中的单元格是可以编辑的,只有按ENTER时单元格内容才改变.如果单元格内容被编辑过(就是说和原来不同),则当按TAB,UP,DOWN等键时单元格内容回到原来的状态,之后按ENTER时才正式改变!!
    谢谢!!!