龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

RichEdit中实现查找功能[组图]

时间:2009-12-22 15:42来源:未知 作者:admin 点击:
分享到:
RichEdit有一个FindText函数,极大方便了我们为RichEdit编制查找功能。下面的片断取自于Delphi帮助中的范例。 C++ Builder 请参照Delphi的例子 Delphi procedure TMainForm.FindDialogFind(Sender: TObject); !--
  RichEdit有一个FindText函数,极大方便了我们为RichEdit编制查找功能。下面的片断取自于Delphi帮助中的范例。
  
   C++ Builder
  
   请参照Delphi的例子
  
   Delphi
  
   procedure TMainForm.FindDialogFind(Sender: TObject);
  
   <!-- frame contents -->
<!-- /frame contents --> 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;
  
精彩图集

赞助商链接