【发布时间】:2014-10-14 13:06:07
【问题描述】:
有没有办法以某种方式在整个屏幕周围绘制红色“边框”?我不想在我的应用程序窗口内绘图。而且我希望能够在显示此红色边框时使用其他程序。
我真的想向用户表明计算机处于特殊模式。
【问题讨论】:
-
也许你可以调整我对这个问题的回答stackoverflow.com/questions/24588065/…
有没有办法以某种方式在整个屏幕周围绘制红色“边框”?我不想在我的应用程序窗口内绘图。而且我希望能够在显示此红色边框时使用其他程序。
我真的想向用户表明计算机处于特殊模式。
【问题讨论】:
Windows 不需要是不透明的,可以设置为忽略鼠标事件,使用它很容易做你想做的事。概述:
a) 使用 drawRect: 方法创建一个 NSView 子类,该方法在其框架内绘制一个半透明(
b) 创建一个 NSWindow 子类。使用 NSBorderlessWindowMask 作为样式。将 backgroundColor 设置为 clearColor,将 opaque 设置为 NO,将级别设置为适合您的内容 - 比如说 NSScreenSaverWindowLevel,ignoreMouseEvents 设置为 YES,canHide 设置为 NO 等。将窗口大小/位置设置为(您的一个)屏幕。将其 contentView 设置为 (a) 中的视图。
您现在有一个“窗口”,它只是一个勾勒出的半透明红色矩形,创建一个,您的屏幕就会按照您的意愿勾勒出来。
【讨论】: