Dmi*_*try 1 forms delphi hotkeys
我们有一个Delphi XE2应用程序.Form1有热键Ctrl+ F,并且Form2,它是活动的,没有热键.用户按下Ctrl+ F上Form2并且Form1处理该热键.这完全不正确,因为我们看到了非活动表单的活动.我如何解决它?
我使用动作实现所有快捷键处理.如果执行此操作,则可以使用操作,操作列表,操作管理器等提供的集中化来根据表单是否处于活动状态来启用和禁用所有操作.
做到这一点,例如,通过设置动作列表的State的财产OnActivate和OnDeactivate形式的事件处理程序:
procedure TMyForm.FormActivate(Sender: TObject);
begin
ActionList.State := asNormal;
end;
procedure TMyForm.FormDeactivate(Sender: TObject);
begin
ActionList.State := asSuspended;
end;
Run Code Online (Sandbox Code Playgroud)