在一个memo里,当回车键按下时,执行一个操作,但不要在memo里换行。请问如何实现?找资料说:
//要把事件放在KeyDown裡面;   
  procedure   TForm1.RxRichEdit1KeyDown(Sender:   TObject;   var   Key:   Word;   
      Shift:   TShiftState);   
  begin   
      if   key=word(#13)   then   begin   
          key:=word(#0);   
          ShowMessage   (Thanks!);   
      end;   
  end;
但试了一下还是不行 。
谢谢!

解决方案 »

  1.   

    procedure TMainForm.Memo1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
          if   key=word(#13)   then   begin
              key:=word(#0);
               Memo2.SetFocus;
              end;  
    end;抱歉上面写错啦,我是写在TMainForm.Memo1KeyDown上的
      

  2.   

    try it:
      if Key = #13 then
      begin
        ShowMessage('o');
        Key :=#0;
      end;
      

  3.   

    不好意思:procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);
    begin
      if Key = #13 then
      begin
        ShowMessage('o');
        Key :=#0;
      end;
    end;
      

  4.   

    你在onkeypress中处理,就行了
    procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);
    begin
       if Key =#13 then
      begin
        ShowMessage('o');
        Key :=#0;
      end;
    end;
      

  5.   

    不行啊,编译过不了;
     if Key =#13 then 该语句编译不过去。
    我用过这方法:
    procedure TMainForm.Memo1KeyDown(Sender: TObject; var Key: Word; 
      Shift: TShiftState); 
    begin 
          if  key=word(#13)  then  begin 
              key:=word(#0); 
              Memo2.SetFocus; 
              end;  
    end; 
    但还是不行,程序会先把Memo1换行了在执行Memo2.SetFocus;