当前位置:  开发笔记 > 编程语言 > 正文

使OSX应用程序在未聚焦时响应第一次鼠标单击

如何解决《使OSX应用程序在未聚焦时响应第一次鼠标单击》经验,为你挑选了1个好方法。

正常的OSX应用程序在没有聚焦时首先点击鼠标点击应用程序.然后,应用程序将处理未来的点击次数.iTunes播放/暂停按钮和Finder的行为有所不同,即使没有聚焦,第一次点击也会被激活.我正在寻找一种方法来强制现有的应用程序(远程桌面连接.app)在第一次单击时起作用,而不仅仅是焦点.



1> Casey Fleser..:

检查NSView的acceptedFirstMouse,它可能正是您正在寻找的.

acceptsFirstMouse:如果接收器应该发送一个mouseDown:消息用于初始鼠标按下事件,则子类重写返回YES,否则返回NO.

(BOOL)acceptFirstMouse:(NSEvent*)theEvent

参数theEvent初始鼠标按下事件,必须在其窗口中的接收器上方.

讨论接收方可以无条件地返回值,也可以使用事件的位置来确定它是否需要该事件.默认实现忽略了Event并返回NO.

在子类中重写此方法以允许实例响应点击.这允许用户单击非活动窗口中的视图,只需单击一下即可激活视图,而不是先单击以使窗口处于活动状态,然后单击视图.大多数视图对象拒绝单击尝试,因此事件只会激活窗口.但是,许多控件对象(例如NSButton和NSSlider的实例)都接受它们,因此用户可以立即操作控件而无需释放鼠标按钮.

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有