是否可以锁定nswindow的位置?我不是要求setIgnoresMouseEvents。我需要阻止用户移动窗口,但他仍然可以使用nstoolbar。
提前thx --molter答案 0 :(得分:9)
我同意杰森的“正常”案件。 但我认为有一些特殊情况可以适合做这样的事情。 苹果也是这么认为的;从10.6开始 - 您需要做的就是致电NSWindows'
- (void)setMovable:(BOOL)flag
或覆盖
- (BOOL)isMovable;
在你的NSWindow子类中来改变窗口的可移动性。
如果没有,Quartz Event Services API(documentation)提供了阻止窗口移动的方法。 一种方法是在用户开始拖动窗口时安装事件 - 点击并操纵传入事件以仅包含初始的mousedown位置而不是更新的(真实)位置。
答案 1 :(得分:1)
您应该遵循Jason的建议并使用自助服务终端模式。请参阅此technical note。