- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在 mouseDrag 函数中接收 nextEvent
while true {
guard let nextEvent = self.window?.nextEvent(matching: [.leftMouseDragged, .leftMouseUp, .rightMouseUp]) else {
continue
}
switch nextEvent.type {
case .leftMouseDragged:
self.cursorUpdate(with: nextEvent)
self.mouseDragged(with: nextEvent)
case .rightMouseUp:
continue
default:
self.mouseUp(with: nextEvent)
return
}
}
我只是想在这段时间内禁用右键单击。但是,通过此实现,右键单击只需排队并在循环完成后被调用。
如何禁用注册的右键单击?
最佳答案
尝试将 .rightMouseDown
和 .rightMouseDragged
添加到匹配的蒙版中。正是 .rightMouseDown
事件使 AppKit 显示上下文菜单。
guard let nextEvent = self.window?.nextEvent(matching: [.leftMouseDragged, .leftMouseUp, .rightMouseDown, .rightMouseDragged, .rightMouseUp]) else {
continue
}
您还可以考虑切换到 NSWindow.trackEvents(matching:timeout:mode:handler:)
而不是编写自己的循环:
window.trackEvents(matching: [.leftMouseDragged, .leftMouseUp, .rightMouseDown, .rightMouseDragged, .rightMouseUp], timeout: NSEvent.foreverDuration, mode: .eventTrackingRunLoopMode) { (event, outStop) in
guard let event = event else { return }
switch event.type {
case .rightMouseDown, .rightMouseDragged, .rightMouseUp: return
case .leftMouseDragged:
self.cursorUpdate(with: event)
self.mouseDragged(with: event)
case .leftMouseUp:
self.mouseUp(with: event)
outStop.pointee = true
default:
break
}
}
使用 trackEvents
让 AppKit 运行主运行循环,因此计时器和观察者可以继续触发(如果它们被安排为 .eventTrackingRunLoopMode
)。
关于swift - 禁用应用程序包中的右键单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49140021/
我目前正在将Java与Play框架一起使用。我已经进行了JUnit测试,并且尝试使用IntelliJ CoverageRunner测量覆盖率。 不幸的是,游戏会生成一些垃圾分类,而IntelliJ会将
有人告诉我,当您在 Oracle 中创建过程时,您应该创建一个包含过程的包。这是真的吗? MS 中的程序与 Oracle 中的程序相同吗? 最佳答案 您不必将过程和函数放在包中,但通常认为这是最佳做法
我有一个 Django 项目,我想使用 manage.py runserver 在端口 80 上运行。在我的项目中,我使用 Wand库,我已经使用 Homebrew 软件安装了 freetype 和
我正在阅读 OCA Java SE 7 学习指南和包。但是,我在 Eclipse 中输入了与书中相同的代码,但出现了此错误。错误是 Exception in thread "main" java.la
我在 Windows 10 的 Powershell 中安装 Az 模块时遇到错误消息。有什么想法吗? 使用的命令: Install-Module Az -AllowClobber 错误消息: Pac
有没有办法为 .net 核心应用程序获取 WinAPI(user32.dll 部分)绑定(bind)(例如包含方法/枚举/结构声明的 nuget 包)。 Or 是 PInvoke 我需要手动调用的每个
我正在使用 expo 构建一个 React Native 项目。我在 Windows 上,所以我启用了 WSL 并从微软商店安装了 ubuntu。接下来我运行 expo build:android。我
我的 C# 应用程序使用我编写的 C++ WinRT 组件来获取使用 Direct X 的系统字体列表。 这是基于这个例子: http://msdn.microsoft.com/en-us/libra
我是一名优秀的程序员,十分优秀!