Delphi 双击RichEdit高亮所有关键字


本文整理自网络,侵删。

 
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, ExtCtrls;
 
type
  TForm1 = class(TForm)
    RichEdit1: TRichEdit;
    Memo1: TMemo;
    Timer1: TTimer;
    procedure Memo1DblClick(Sender: TObject);
    procedure RichEdit1DblClick(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure RichEdit1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
 
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  i: integer;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Memo1DblClick(Sender: TObject);
begin
  ShowMessage(Memo1.SelText);
end;
 
 
 
procedure TForm1.RichEdit1DblClick(Sender: TObject);      //没有这样的的事件代码,所以这段落没有反应
var
  M: Integer;
begin
  with RichEdit1 do
  begin
    M := pos(RichEdit1.SelText, RichEdit1.Text);
    if M > 0 then
    begin
      SelStart := M - 1;
      SelLength := Length(RichEdit1.Text);
      SetFocus;
      Richedit1.SelAttributes.Color := clFuchsia;
      SendMessage(self.Richedit1.Handle, EM_SCROLLCARET, 0, 0);
    end;
  end;
end;
 
 
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  i := 0;
  timer1.Enabled := false;
end;
 
procedure TForm1.RichEdit1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  M: Integer;
 
begin
  if i = 0 then
  begin
    inc(i);
    timer1.Enabled := true
  end
  else
  begin
    i := 0;
    begin
      with RichEdit1 do
      begin
        M := pos(RichEdit1.SelText , RichEdit1.Text);
        if M > 0 then
        begin
          SelStart := M - 1;
          SelLength := Length(RichEdit1.Text);
          SetFocus;
          Richedit1.SelAttributes.Color := clFuchsia;
          SendMessage(self.Richedit1.Handle, EM_SCROLLCARET, 0, 0);
        end;
      end;
    end;
    timer1.Enabled := false;
  end;
end;
 
end.

相关阅读 >>

Delphi设置ie代理的方法

Delphi异常信息捕捉

Delphi 将图片压缩后转base64函数

Delphi 保存hotkey1.hotkey值

Delphi中如何用一个按钮控制开与关两个状态

Delphi 通过注册表获取系统版本和cpu型号

Delphi中实现dll文件自动注册

Delphi 获取其他进程句柄的几种方法

Delphi的tservice 服务路径获取 dll中获取文件路径

Delphi memo1 字符串快速查找定位2

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...