RichEdit控件。如何禁掉光标,并且不让选中。如果用Enabled:=false,字体就变成灰色了,我不想让字体改变颜色。因为我显示的是一个多行文本,所以考虑用RichEdit,

解决方案 »

  1.   

    procedure EnableControl(AControl: TWinControl; Enable: Boolean);
    begin
      with AControl do
        if Enable then
          SetWindowLong(Handle, GWL_STYLE, (not WS_DISABLED) and GetWindowLong(Handle, GWL_STYLE))
        else
          SetWindowLong(Handle, GWL_STYLE, WS_DISABLED + GetWindowLong(Handle, GWL_STYLE));
    end;
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      EnableControl(memo1,false);
    end;
      

  2.   

    1。RichEdit,Enabled:=false,字体就不成灰色!!!!!!!!!!!!!!
    2。变通方法,RichEdit或memo放在panel 上,让panel的Enabled:=false
      

  3.   

    //////RichEdit,Enabled:=false,字体就不成灰色!!!!!!!!!!!!!!
    确实是这样。我用的是SkinRichEdit。它是这样的。jinjazz的方法是正确的。xiangwangz的方法2应该是可行的。
    结束。