首页 > 学院 > 开发设计 > 正文

RichEdit中实现查找功能

2019-11-17 05:07:26
字体:
来源:转载
供稿:网友
  RichEdit有一个FindText函数,极大方便了我们为RichEdit编制查找功能。下面的片断取自于Delphi帮助中的范例。

C++ Builder

请参照Delphi的例子

Delphi

PRocedure TMainForm.FindDialogFind(Sender: TObject);

var

FoundAt: LongInt;

StartPos, ToEnd: integer;

SearchFlag: TSearchTypes;

begin

if frMatchCase in FindDialog.Options then

SearchFlag:=[stMatchCase];

if frWholeWord in FindDialog.Options then

SearchFlag:=SearchFlag+[stWholeWord];

with RichEdit do

begin

StartPos:=SelStart+SelLength;

ToEnd:=Length(Text) - StartPos;

FoundAt:=FindText(FindDialog.FindText, StartPos, ToEnd, [stMatchCase]);

if FoundAt<>-1 then

begin

SetFocus;

SelStart:=FoundAt;

SelLength:=Length(FindDialog.FindText);

end

else

begin

SelLength:=0;

SelStart:=StartPos;

application.MessageBox(PChar(找不到+FindDialog.FindText),查找失败,0);

end;

end;

end;

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表