打印本文 打印本文 关闭窗口 关闭窗口
RichEdit中实现查找功能
作者:武汉SEO闵涛  文章来源:敏韬网  点击数870  更新时间:2009/4/23 18:24:26  文章录入:mintao  责任编辑:mintao

  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;

打印本文 打印本文 关闭窗口 关闭窗口