[英]Objective-C: NSStatusBar right and left click
如何检测左键或右键单击状态栏图标,然后根据单击的鼠标键(触控板)进行一些操作?
我用:
_statusItem = [[[NSStatusBar systemStatusBar] statusItemWithLength:NSSquareStatusItemLength] retain];
[_statusItem setMenu:menu];
[_statusItem setHighlightMode:YES];
生成statusBar图标
要检测当前按下的鼠标按钮,可以使用[NSEvent pressedMouseButtons]
。
要检测单击的状态栏图标,您可以检测出现的菜单。 在菜单打开之前,它会向其委托发送menuWillOpen:消息(如果有的话)。 所以实现这样的事情:
- (void)menuWillOpen:(NSMenu *)menu
{
NSLog(@"%d",[NSEvent pressedMouseButtons]);
}
您还需要设置菜单的委托,例如
[menu setDelegate:self];
我找到了另一个解决方案,请看这里。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.