我有两个窗口:一个主窗口和一个检查面板。两者都有滑块和可拖动物品。
每次在其他窗口中工作时都必须单击两次。首先单击激活窗口。第二次单击允许拖动开始。
是否可以在窗口中单击自动激活它并允许事件传递给控件,这样在检查器面板和主窗口之间切换时,您不需要一次两次? / p>
答案 0 :(得分:2)
首先要尝试将面板的becomesKeyOnlyIfNeeded
属性设置为true。这样,即使用户点击并拖动面板中的控件,您的主窗口仍将保持密钥。
否则,您必须在每个不同的视图类中处理此问题。如果视图要处理激活窗口的相同鼠标事件,则视图应覆盖-acceptsFirstMouse:
以返回true。对于自定义视图类,这很简单。如果您正在使用标准控件并且他们尚未实现-acceptsFirstMouse:
以返回true,那么您需要对它们进行子类化并使用这些子类。