锁定nswindow的位置

4 cocoa nswindow

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

thx提前--molter

arr*_*rri 9

我同意Jason的"正常"案例.但我认为有一些特殊情况可以适合做这样的事情.苹果也是这么认为的; 从10.6开始 - 你需要做的就是打电话给NSWindows'

- (void)setMovable:(BOOL)flag
Run Code Online (Sandbox Code Playgroud)

或覆盖

- (BOOL)isMovable;
Run Code Online (Sandbox Code Playgroud)

在你的NSWindow子类中改变窗口的可移动性.

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