当前位置:首页 > Windows程序 > 正文

0);//按下F键 keybd_event(ord(‘F‘)

2024-03-31 Windows程序

操作 keybd_event函数可实现,如下面的代码用以实此刻一个大众菜单中模拟Ctrl_F按钮以挪用DBGridEH的查找对话框成果:
这是在一个ActionList中的某一Action的OnExecute事件代码。

procedure TDM.act_LocateExecute(Sender: TObject); 
var
  myPopupMenu:TPopupMenu; 
  MyDBGridEH:TDBGridEh; 
begin
  //ShowMessage(TMenuItem(TAction(Sender).ActionComponent).GetParentComponent.Name); 
  if (TAction(Sender).ActionComponent).GetParentComponent is TPopupMenu then
    myPopupMenu := (TAction(Sender).ActionComponent).GetParentComponent as TPopupMenu 
  else
    Exit; 
 
  //ShowMessage(MyPopupMenu.PopupComponent.Name); 
  if (MyPopupMenu.PopupComponent is TDBGridEh) then
  begin
    MyDBGridEH := TDBGridEh(MyPopupMenu.PopupComponent); 
    MyDBGridEH.SetFocus; 
    keybd_event(VK_Control, MapVirtualKey(VK_Control, 0), 0, 0);       //按下Ctrl键 
    keybd_event(ord(‘F‘), MapVirtualKey(ord(‘F‘), 0), 0, 0);                    //按下F键 
    keybd_event(ord(‘F‘), MapVirtualKey(ord(‘F‘), 0), KEYEVENTF_KEYUP, 0);    //放开F键 
    keybd_event(VK_Control, MapVirtualKey(VK_Control, 0), KEYEVENTF_KEYUP, 0); //放开Ctrl键 
  end; 
end;

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/35695.html

Jm-杰米博客Jamie
草根站长的技术交流乐园!IT不会不要紧快来好好学习吧!
  • 20786文章总数
  • 7494590访问次数
  • 建站天数
  • 友情链接