兄弟们,想请问一下,如何在一个richedit编辑框中屏蔽掉回车键,即按回车时不起任何作用,该如何做?
曾有牛人告诉我在keydown事件中
if key=13 
    then key:=0 
不起作用,有哪位知道吗?

解决方案 »

  1.   

    在RichEdit1KeyPress中
    if key=#13 then
       key:=#0;
    应该可以用
      

  2.   


    procedure TForm1.RichEdit1KeyPress(Sender: TObject; var Key: Char);
    begin
      if (Key = Char(VK_RETURN))    then Key := #0;
    end;
      

  3.   

    第二种方法RichEdit1.WantReturns:=False
      

  4.   

      public
        { Public declarations }
        OldWndProc : TWndMethod;
        procedure ReturnKeyProWnd(var Message: TMessage);
      end;
    ...
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      OldWndProc := richedit1.WindowProc;
      richedit1.WindowProc := ReturnKeyProWnd;
    end;procedure TForm1.ReturnKeyProWnd(var Message: TMessage);
    begin
      if (message.Msg>=WM_KeyDown) and (Message.WParam=VK_Return) then begin
        Message.Result := 1;
      end else
        OldWndProc(message);
    end;
      

  5.   

    重载richedit的windowsproc.我测试了,keypress里好象是不顶用的。