4

是否可以锁定nswindow的位置?我不是要 setIgnoresMouseEvents。我需要阻止用户移动窗口,但他应该仍然可以使用 nstoolbar。

提前谢谢--molter

4

2 回答 2

9

我同意杰森的“正常”情况。但我认为在某些特殊情况下可以适当地做这样的事情。显然苹果也这么认为;从 10.6 开始 - 你需要做的就是调用 NSWindows'

- (void)setMovable:(BOOL)flag

或覆盖

- (BOOL)isMovable;

在您的 NSWindow 子类中更改窗口的可移动性。

如果这不可用,Quartz 事件服务 API(文档)提供了防止窗口移动的方法。一种方法是在用户开始拖动窗口时安装事件点击并操纵传入事件以仅包含初始鼠标按下位置而不是更新的(实际)位置。

于 2011-06-23T01:33:33.313 回答
1

您应该听从 Jason 的建议并使用 kiosk 模式。请参阅此技术说明

于 2010-01-08T08:14:18.300 回答