Ehlib中有查找功能。
按下Ctrl+F后会弹出查找对话框。
我在界面上放了一个按钮,按下该按钮时怎么也弹出查找对话框呢?应该怎么写事件?另:可以修改代码让Ehlib同时有替换功能么?谢谢!!

解决方案 »

  1.   

    你在按扭的click中偿试有没有 ehlib.findxxx之类的函数
    最好参考它的官方帮助了。
      

  2.   

    可以在源代码中增加一个过程,对查找对话框调用。
    具体方法:1.在Ehlib的安装路径打开DBGridEh.pas;2.找到以下代码:(大概2020行左右)
      { TDBGridEh }
      TDBGridEh = class(TCustomDBGridEh)

      在后面加上:
      public
        procedure ShowFindDialog(); 3.在中间实现代码部分增加:
    procedure TDBGridEh.ShowFindDialog();
    begin
       ExecuteDBGridEhFindDialogProc(Self, '', '', nil, True);
    end;4.调用对话框时:
    procedure TForm1.btn1Click(Sender: TObject);
    begin
      dbgrdh1.ShowFindDialog();  //DBGridEh调用ShowFindDialog()弹出查找对话框
    end;
    至于说替换的功能,需要改动的地方比较大了。
      

  3.   

    在dbgrideh单元中1775行(4.47版)将 procedure ExecuteFindDialog(Text, FieldName: String; Modal: Boolean);从protected区移到public区就可以在程序中调用了,指定modal为false还可以成非模态对话筐。因为没有变动原码,不需重新编译dbgrideh单元。
    dbgrideh1.ExecuteFindDialog('aaa','char',false);
      

  4.   

    我是通过模拟ctrl+F+F的按键实现的点击按钮查找!