gpt4 book ai didi

objective-c - 如何在 Mac 操作系统中创建 "No Activate"窗口

转载 作者:行者123 更新时间:2023-12-03 16:26:06 24 4
gpt4 key购买 nike

在 Windows 平台中,窗口有一个名为 SWP_NOACTIVATE 的属性,该属性会导致窗口显示为非事件状态,并且在单击鼠标后,该窗口不会获得焦点。例如,对于可以通过鼠标单击键入的虚拟键盘来说,它很有用。Mac 中的等效解决方案是什么?换句话说,我怎样才能实现一个在单击它时不会改变焦点的窗口?谢谢。

最佳答案

您在这个问题上添加了“Cocoa”和“Carbon”标签,但由于没有人应该再做Carbon,所以我将尝试仅使用Cocoa来解决您的问题。

查看这两个 NSWindow 方法:canBecomeKeyWindowcanBecomeMainWindow 。当您希望窗口不可聚焦时,请考虑对 NSWindow 进行子类化并为其中一个(或两个)返回“NO”。

还有一个有趣的方法,称为 setIgnoresMouseEvents: ,这使得窗口对鼠标单击和事件“透明”。

关于objective-c - 如何在 Mac 操作系统中创建 "No Activate"窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10620106/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com