是需要设置快捷键,比如使用DBGridEh控件,按Ctrl+F3 调出查询框。现在的希望是不按键盘,直接点下【查询】按钮即可调出查询框。 请给参考示例

解决方案 »

  1.   

    啥是dbgrideh中的查询框
    那个ctrl+f3在哪设置的,就把那段代码加入button里调用嘛
      

  2.   

    查询下F3+CATRL在Delphi用上面代表。然后添加到button里面不久可以了 ?
      

  3.   

    TDBGridEh表格的Ctrl + F功能應用
    日期:2007-12-17 类别:控件使用 作者: 推荐:本站 人气:4469  
      TDBGridEh組件的OptionsEh選項中有一項:dghDialogFind,默認值爲True。此屬性使表格在運行狀态下,用戶隻需按下 Ctrl + F熱鍵,即可調出一個現成的查找對話框來,而無須程序員寫其他任何查找相關的代碼了。
        EhLib提供的這個功能實在巧妙,它可省了程序員的不少功夫,而且用來在表格中對數據定位,其功能也相當完善。
        有些時候,開發者還可能需要用代碼來實現Ctrl + F熱鍵的調用。大緻可有二種可行的方法:
        1、笨方法--模拟Ctrl + F按鍵事件,使用Windows API函數Keybd_Event()如下所示:
        Keybd_Event(VK_CONTROL,Byte(0),0,0);
        Keybd_Event(Byte(70),Byte(0),0,0);
        Keybd_Event(Byte(70),Byte(0),KeyEventF_KEYUP,0);
        Keybd_Event(VK_CONTROL,Byte(0),KeyEventF_KEYUP,0);
        2、引用EhLib包的DBGridEhFindDlgs單元提供的标準方法ExecuteDBGridEhFindDialog():
        調用示例:ExecuteDBGridEhFindDialog(TDBGridEh組件名,'','',nil,True);
        該方法聲明如下:
        procedure ExecuteDBGridEhFindDialog(Grid: TCustomDbGridEh; Text, FieldName: String; ColumnFields: TColumnFieldsArrEh;  Modal: Boolean);  
        參數Grid用以指定一個特定的TDBGridEh組件;Text用以指定一個特定查找文本(可爲空串'');FieldName用以指定一個特定的查找字段名(可爲空串'');ColumnFields用以指定一個查找字段列表的動态數組(可置爲nil,表示默認爲全部Columns);Modal用以指定對話框是否以模态打開。
    *********************
    网上搜来了,我用第一种方法实现过。
      

  4.   

    @babydog01,你说的这个方法我也搜到,但调试一直没有成功,点【查找】按钮没有任何反应
      

  5.   

    babydog01 的第二個方法我有試過...確定可以的! 
      

  6.   

    把button的onclick事件设为ctrl+F3的响应事件?
      

  7.   

    自定义 功能键  即可
    查一下 ctrl+F3 值信息
      

  8.   


    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs;type
      TForm1 = class(TForm)
        DBGridEh1: TDBGridEh;
        btnQuery: TButton;
        procedure btnQueryClick(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.btnQueryClick(Sender: TObject);
    beginend;end.
      

  9.   

    procedure TForm1.btnQueryClick(Sender: TObject);
    begin
       //鼠标点这个“查询”按钮相当于我同时按下 Ctrl+F3键 功能
    end;
      

  10.   


      PostMessage(handle,WM_KEYDOWN,VK_CONTROL,0);
      PostMessage(handle,WM_KEYDOWN,VK_F3,0);
      PostMessage(handle,WM_KEYUP,VK_F3,0);
      

  11.   


    5、设定btnQuery的Action属性指向Action1
      

  12.   

    上面看错要求了,看了中间的内容。 
     //以下四行语句组合形成快捷键
      keybd_event(VK_Control,0,0,0);  //按下Ctrl键
      keybd_event(VK_F3,0,0,0);       //按下F3键
      keybd_event(VK_Control,0,KEYEVENTF_KEYUP,0); //松开Ctrl键
      keybd_event(VK_F3,0,KEYEVENTF_KEYUP,0); //松开F3键