






























procedure TMainForm.ToolButton18Click(Sender: TObject); var FoundPos: Integer; SearchText: string; StartPos: Integer; SearchOptions: TSearchTypes; begin SearchText := Edit2.Text; if SearchText = '' then Exit; // 先重置所有文本颜色为黑色 editor.SelStart := 0; editor.SelLength := Length(editor.Text); editor.SelAttributes.Color := clBlack; // 设置查找选项 SearchOptions := [stMatchCase]; // 根据需要添加选项 StartPos := 0; while True do begin // 从 StartPos 开始查找 FoundPos := editor.FindText( SearchText, StartPos, Length(editor.Text) - StartPos, SearchOptions ); if FoundPos = -1 then Break; // 没找到就退出 // 高亮找到的词 editor.SelStart := FoundPos; editor.SelLength := Length(SearchText); editor.SelAttributes.Color := clRed; // 移动起始位置,继续往后找(跳过已找到的词) StartPos := FoundPos + Length(SearchText); // 防止死循环(如果关键词长度为0) if Length(SearchText) = 0 then Break; end; // 取消选中状态 editor.SelLength := 0; editor.SelStart := 0; end;
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。