- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试为我的 Mac 在 Objective-C 中为 Windows 重写一个应用程序,我希望能够做一些类似 Mac 的热点问题。如果我将鼠标移到屏幕左侧,它会显示一个窗口,如果我将鼠标移到窗口位置之外,该窗口将再次隐藏。 (窗口将被推到屏幕的左侧)。
有谁知道我在哪里可以找到有关如何执行此操作的一些演示代码(或引用),或者至少如何判断鼠标的位置,即使当前应用程序不在顶部。 (不知道怎么说,太习惯 Windows 世界了)。
谢谢
-布拉德
最佳答案
您将要在屏幕边缘实现一个不可见的窗口,并设置窗口顺序以使其始终位于顶部。然后,您可以在此窗口中监听鼠标移动事件。
要将窗口设置为不可见并位于顶部,使窗口子类使用如下调用:
[self setBackgroundColor:[NSColor clearColor]];
[self setExcludedFromWindowsMenu:YES];
[self setCanHide:NO];
[self setLevel:NSScreenSaverWindowLevel];
[self setAlphaValue:0.0f];
[self setOpaque:NO];
[self orderFrontRegardless];
然后,开启鼠标移动事件,
[self setAcceptsMouseMovedEvents:YES];
将导致窗口调用:
- (void)mouseMoved:(NSEvent *)theEvent
{
NSLog(@"mouse moved into invisible window.");
}
希望这足以让您开始。
-肯
关于objective-c - 使窗口弹出进出屏幕边缘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1994360/
我是 Java 新手。我在学校有这个练习来创建一个 BasicIO 类和 Main 类来读取和写入文件。 但是我的代码只读取第一句并在无限循环中打印它。 基本IO.java import java.i
我在处理几个正则表达式时遇到了一些麻烦,我之前差点就开始工作了。我基本上需要删除特定 两边的 HTML 注释标签。 这是我目前所拥有的: .replace(/-->/, 'oncl
我正在使用下面的代码将一个 div 部分切换出屏幕,然后完全切换回屏幕。此代码告诉“侧边栏”要移出屏幕多远。但在我的例子中,由于媒体查询应用于侧边栏宽度,此功能存在问题。因此,我需要的代码不是说明侧边
我找不到有关在一段时间内(例如一秒)应向 Firebase 数据库(或类似数据库)发送的最大消息数以及应用程序可以处理接收的最大消息数的最佳实践文档没有显着放缓。例如: //send updated
我在使我的 div 从右侧 float 到屏幕的 50% 时遇到问题,我似乎无法弄清楚为什么它不起作用。 myFunction = function() { var divPosition = $
我们如何知道 cocoapods 是否已安装?在我们的 MAC 中?安装时我将其输出到终端: ERROR: While executing gem ... (NoMethodError) undefi
我正在我的 ubuntu 系统上使用 anaconda 构建深度学习环境。 我对 Anaconda 完全陌生。 我创造了一个环境 conda create -n darkflow python=3.6
是否有可能有效地向 CUDA 设备或从 CUDA 设备复制以恒定(甚至非常量)值跨越的数据? 我想对角化一个大的对称矩阵。 使用 jacobi 算法,在每次迭代中有一堆使用两行和两列的操作。 由于 M
如果我想将数据发送给所有连接的人,是否应该将 redis 订阅事件放在 io.connect 回调之外?或者像这样将它放在 io.connect 中更好: io.on('connection'
我有一些正在序列化的数据。我需要在 .Net 3.5(还不是 4.0)下使用 ADO.NET(也使用企业库)从 VarBinary 列保存和恢复它。 我似乎能够找到并开始工作的唯一接口(interfa
我是一名优秀的程序员,十分优秀!