在窗体中我有8个dbedit,一个combobox还有一个dbmemo
我想用tab代替回车键盘!代码已经完成了!基本没有什么问题。
可有一个小问题就是,
如果我这样写
if key=#13 then 
perform(WM_NEXTDLGCTL,0,0);是可以倒替tab键的,可如果我要在dbmemo里面编辑的话,那么只要一按回车,就马上跳到下一个的dbedit。这样就不好了,要怎么改正呢?谢谢拉!

解决方案 »

  1.   

    1、将dbmemo的OnKeyPress去掉。
    2、或者不要设置dbmemo的横向滚动条,自动换行。这样如果用户输入回车,程序认为要跳入下一个控件。—————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    —————————————————————————————————
      

  2.   

    谢谢,可我是在窗体的keypress写的代码,dbmemo的onkeypress我没有写什么东西!
    第二个问题,我的dbmemo的scrollbars属性是ssnone,这样设置应该没有问题的!
    那该如何做呢?这是我的代码,谢谢!
    procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
    begin
      if (key=#13) then
       begin
         perform(WM_NEXTDLGCTL,0,0);
       end;
      

  3.   

    程序如下:
    procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
    begin
      if (key=#13) then
       begin
         if (Activecontrol is Tmemo) Then
             perform(WM_NEXTDLGCTL,0,0);
       end;意思就是如果当前控件是Tmemo控件的话,就不再执行performWM_NEXTDLGCTL,0,0)语句如果可行的话不要忘记给分啊
      

  4.   

    真是不好意思,有一句代码写错了:
    if (Activecontrol is Tmemo) Then 应改为
    if not (Activecontrol is Tmemo) Then