代码之家  ›  专栏  ›  技术社区  ›  XBasic3000

如何使richedit不选择或突出显示?

  •  2
  • XBasic3000  · 技术社区  · 16 年前

    帮助我输入RichEdit无法突出显示/禁用突出显示或文本选择?同时删除光标位置。应用程序仅用于显示RTF文本,而不用于编辑,因此我不需要这些功能。在德尔福

    4 回复  |  直到 8 年前
        1
  •  4
  •   RRUZ    16 年前

    您可以设置 SelLength 属性设置为0 OnSelectionChange 事件

    procedure TForm1.RichEdit1SelectionChange(Sender: TObject);
    begin
     TRichEdit(Sender).SelLength:=0;
    end;
    
        2
  •  2
  •   Mawg says reinstate Monica    16 年前

    只是为了澄清-你肯定需要丰富的文本功能,如颜色、大小等?您肯定想禁止从控件复制并粘贴到其他地方?是真的吗?

    我建议您重写onmouseup、onsaveclipboard、onselectonchange from trichedit以及继承的方法getseltextbuf、copytolipboard、cuttoclipboard和selectall。可能需要重新油漆,更新和其他一些。

    确定你想要什么-如果你可以生活没有丰富的文本功能,那么只需使用一些TLabels并用程序编写文本。

    如果你必须有丰富的文本,我会看到一些选择——为你的组件编写许多偶数的处理程序,或者从trichedit中创建你自己的组件,这使得在一个表单上使用它们的七部分更容易,或者查看像Tori这样的站点,看看是否有人已经创建了这样的组件。

    祝你好运。

        3
  •  1
  •   No'am Newman    16 年前

    您可以将richedit的readonly属性设置为true-这样可以防止击键等。

        4
  •  0
  •   denim    8 年前

    您只需禁用richedit即可阻止文本选择和隐藏文本光标:

    RichEdit.Enabled := FALSE;