2011-08-25 48 views
4

我想在NSWindow上检测鼠标的下降。实际上,我希望通过检测任何NSWindow标题栏上的点击来为整个系统添加功能。但是,我看不到NSWindow中的标题栏或镶边。我想我可以听任何点击,并根据窗口的大小和位置来检测点击是否在标题栏内,但我想知道是否有更好的方法。谢谢!如何检测任何窗口标题栏上的点击?

回答

1

您需要侦听窗口框架上的mouseDown事件。窗口的框架隐藏在[[window contentView]超级视图]下。你可以将NSWindow子类化并创建你自己的框架NSView实现(我认为它有点工作),或者尝试用你自己的方法来替换mouseDown方法。在这里http://parmanoir.com/Custom_NSThemeFrame它显示了如何为drawRect方法做这样的事情。希望能帮助到你。

+1

谢谢。这是我将要测试的一个很好的观点。不过,我主要对系统插件感兴趣,可以在任何窗口上检测到这一点。 – akaru

相关问题