cocoa 如何区分侧键和滚轮键?
How to differentiate side and wheel buttons with cocoa?
我的鼠标有 5 个按钮。它们是左键、右键、滚轮和 2 个侧边按钮 (back/forward)。有什么方法可以检查是否按下了侧面按钮(例如“后退”)?我正在学习 cocoa 关于鼠标事件的文档。目前我知道有 - (void)otherMouseDown:(NSEvent *)event;
方法,只要按下其他(不是 right/left)按钮就会调用该方法。但是文档没有说明实际按下哪个按钮的附加信息。如何克服这个问题?
-(void)scrollWheel:(NSEvent *)event;
method of NSResponder and so also from NSViews
- (void)rightMouseDown:(NSEvent *)event;
same way
- (void)otherMouseDown:(NSEvent *)event
如你所知
还有..
-(void)someAction:(id)sender
{
NSEvent *event = [NSApp currentEvent];
if (event.type == NSEventTypeLeftMouseUp ||
event.type == NSEventTypeLeftMouseDown)
{
if (event.clickCount == 2) {
// doubleClick
}
}
else if (event.type == NSEventTypeOtherMouseDown)
{
if (event.buttonNumber==4)
{
//i think first button is 0, so 5 should be 4.
}
}
}
AppKit 的 NSEvent.h 拥有您需要的一切,只需先检查事件的 type
,然后再选择 buttonNumber
以及您选择的任何内容
我的鼠标有 5 个按钮。它们是左键、右键、滚轮和 2 个侧边按钮 (back/forward)。有什么方法可以检查是否按下了侧面按钮(例如“后退”)?我正在学习 cocoa 关于鼠标事件的文档。目前我知道有 - (void)otherMouseDown:(NSEvent *)event;
方法,只要按下其他(不是 right/left)按钮就会调用该方法。但是文档没有说明实际按下哪个按钮的附加信息。如何克服这个问题?
-(void)scrollWheel:(NSEvent *)event;
method of NSResponder and so also from NSViews
- (void)rightMouseDown:(NSEvent *)event;
same way
- (void)otherMouseDown:(NSEvent *)event
如你所知
还有..
-(void)someAction:(id)sender
{
NSEvent *event = [NSApp currentEvent];
if (event.type == NSEventTypeLeftMouseUp ||
event.type == NSEventTypeLeftMouseDown)
{
if (event.clickCount == 2) {
// doubleClick
}
}
else if (event.type == NSEventTypeOtherMouseDown)
{
if (event.buttonNumber==4)
{
//i think first button is 0, so 5 should be 4.
}
}
}
AppKit 的 NSEvent.h 拥有您需要的一切,只需先检查事件的 type
,然后再选择 buttonNumber
以及您选择的任何内容