zoukankan      html  css  js  c++  java
  • 程序中的对话框应用(5)- ”查找”对话框

    TFindDialog组件用于显示一个查找对话框,允许用户在文件中查找文本。

    1、设置“查找”对话框显示时的位置,通常打开查找对话框时,出现的位置可能会影响视觉效果,下面示例可以解决。

    procedure TForm1.Button2Click(Sender: TObject);
    var
      Points: TPoint;
    begin
      Points.x:= 200;
      Points.Y:= 400;//此例只设置位置,并未实现查找功能
      FindDialog1.FindText:= Edit1.Text;
      FindDialog1.Position:= Point(RichEdit1.left + RichEdit1.width,RichEdit1.top);
      FindDialog1.Position:= points;
      FindDialog1.Execute;
    end;

    2、实现查找功能示例,窗体上添加按钮,Edit,RichEdit,FindDialog组件。

    procedure TForm1.Button2Click(Sender: TObject);
    begin
      if FindDialog1.Execute then
      begin
        FindDialog1.top:= 200;
        FindDialog1.Left:= 400;
        FindDialog1.Execute;
      end;
    end;
    
    procedure TForm1.RichEdit1KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      if Shift= [ssCtrl] then //按下<Ctrl+F>键时也会打开查找对话框
        if key = 70 then
          Button2.Click;
    end;
    
    procedure TForm1.FindDialog1Find(Sender: TObject);
    var
      foundAt: LongInt;
      startPos,endPos: Integer;
    begin
      with RichEdit1 do
      begin
        if SelLength <> 0 then
          startPos:= SelStart + SelLength
        else
        startPos:= 0;
        endPos:= Length(Text)- startPos;
        foundAt:= FindText(FindDialog1.FindText,startPos,endPos,[stMatchCase]);
        if foundAt<> -1 then
        begin
          SetFocus;
          SelStart:= foundAt;
          SelLength:= Length(FindDialog1.FindText);
        end;
      end;
    end;
  • 相关阅读:
    Java文件读取
    Java继承
    JAVA程序提示错误:需要class,interface或enum解决方法
    SQL 修改列名
    转 父表字表统计查询的sql练习
    powerdesigner12.5入门教程
    现实世界
    oracle添加联合主键
    hashtable的用法
    JQ 1
  • 原文地址:https://www.cnblogs.com/fansizhe/p/12784178.html
Copyright © 2011-2022 走看看