【问题标题】:Accept mouse clicks without activating the application?在不激活应用程序的情况下接受鼠标点击?
【发布时间】:2011-07-25 23:03:51
【问题描述】:

我正在开发一个控制其他正在运行的应用程序的实用程序应用程序。在某些输入事件上,我的应用程序显示一个窗口,用户可以从窗口中选择一些操作,窗口消失并且控制返回到上一个应用程序。我的问题是在我的应用程序窗口中单击会激活我的应用程序,从而从前一个应用程序的窗口中移除焦点。当我的窗口关闭时,我可以重新激活以前的应用程序,但我宁愿保持原来的应用程序一直处于激活状态。这可能吗?

【问题讨论】:

    标签: cocoa macos focus


    【解决方案1】:

    这很容易,只需将您的窗口设为NSPanelNSWindow 的子类)的实例,并在 Xcode/IB 中将其设置为非激活(或以编程方式创建它,使用 NSNonactivatingPanelMask样式掩码)。

    【讨论】:

      【解决方案2】:

      一个想法是:在您的应用运行时,尝试跟踪系统中的活动窗口。 激活您的应用程序并单击命令按钮后,恢复之前的活动窗口。 这只是一个想法,我不知道在mac上怎么做。

      【讨论】:

      • 这就是我现在正在做的事情,但我对解决方案并不完全满意,因为您可以看到原始窗口失去焦点一秒钟。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-08
      相关资源
      最近更新 更多