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;
  • 相关阅读:
    cfdem链接库地址不对的解决方法(liblmp_auto.so)
    总结入门学习OpenFOAM的资料(网址、论坛、帖子、博客等)
    运行cfdemCFDEMuti编译时出现的错误
    mapreduce 的三种测试方式
    Shell 编程
    hadoop集群搭建
    hadoop的环境配置
    hadoop 模板虚拟机环境准备以及对模板机的克隆
    linux总结
    解决maven控制台出现乱码情况
  • 原文地址:https://www.cnblogs.com/fansizhe/p/12784178.html
Copyright © 2011-2022 走看看