首页  编辑  

查找对话框的应用

Tags: /超级猛料/VCL/Memo&Edit&Richedit/RichEdit、RxRichEdit/   Date Created:
查找对话框的应用
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;