代码之家  ›  专栏  ›  技术社区  ›  Erick Sasse

如何防止窗体不活动时触发快捷方式

  •  3
  • Erick Sasse  · 技术社区  · 15 年前

    我打开页面控件选项卡内的表单。这些表单可能包含带有快捷方式的操作。我希望只有当包含此表单的选项卡处于活动状态时,才会触发这些快捷方式。

    我试图覆盖窗体的Isshortcut,但没有调用它。窗体的OnShortcut也不被调用。

    我想避免在每个操作上添加代码来检查这个。

    我用的是Delphi2010。

    3 回复  |  直到 15 年前
        1
  •  3
  •   afrazier    15 年前

    设置 State 对于隐藏选项卡上的操作列表, asSuspended . 只有可见选项卡上的操作列表的状态应为 asNormal . 这将阻止快捷键工作。它还可以阻止这些操作的更新,这对应用程序来说可能是件好事,也可能不是好事。

        2
  •  0
  •   Mason Wheeler    15 年前

    尝试将窗体的“启用”设置为“关闭时为假”,将其设置为“打开时为真”。这将禁用表单上的所有内容,包括快捷方式。

        3
  •  0
  •   dummzeuch Stijn Sanders    15 年前

    将所有快捷方式放入操作中,并将这些操作放入每个表单的一个操作列表中。然后,可以禁用当前未激活的表单的操作列表。(我不记得准确的tactionlist属性来设置或方法来调用或激活/停用它,但它确实存在。)