можно ли зафиксировать положение nswindow? Я не прошу setIgnoresMouseEvents. Мне нужно запретить пользователю перемещать окно, но он все равно должен использовать nstoolbar.заблокировать положение nswindow
ТНХ заранее --molter
можно ли зафиксировать положение nswindow? Я не прошу setIgnoresMouseEvents. Мне нужно запретить пользователю перемещать окно, но он все равно должен использовать nstoolbar.заблокировать положение nswindow
ТНХ заранее --molter
Вы должны последовать совету Джейсона и использовать режим киоска. См. Это technical note на нем.
Я согласен с Джейсоном для «нормальных» случаев. Но я думаю, что есть особые ситуации, когда он может это сделать. Apple тоже так думает; начиная с 10.6 - все, что вам нужно сделать, это NSWindows вызова
- (void)setMovable:(BOOL)flag
или переопределить
- (BOOL)isMovable;
в вашем NSWindow-подклассе изменить окна подвижность.
Если это не доступно, Quartz Event Services API (documentation) предоставляет способы предотвращения перемещения окна. Одним из способов было бы установить прикосновение к событиям и манипулировать входящими событиями, чтобы содержать только начальное местоположение мыши, а не обновленное (реальное) местоположение, когда пользователь начинает перетаскивать окно.
хорошо переносится на вопрос .. как вы думаете, новое изменение размера окна льва может работать как альтернатива хрустящим старым обработчикам событий кварца ... скажем, если бы кто-то хотел сжимать движение вдовы, скажем, только ОДНОЙ осью движения , например? –
не делайте этого. если вы пишете приложение типа киоска, следуйте инструкциям для написания приложений типа киосков. –
что бы вы сделали вместо этого? на данный момент у меня есть какой-то _remote_ для управления окном (запустить процесс потоковой передачи, завершить его и т. д.) ... Я хочу уменьшить количество панелей, окон и представлений моего приложения, поэтому я подумал, что было бы неплохо иметь панель инструментов для управления окном ... – 2009-05-08 15:41:29
Почему вы не хотите, чтобы пользователь перемещал панель инструментов в этом случае? Что, если они захотят переместить его в другое пространство или на другой экран? Что делать, если разрешение экрана изменяется, когда пользователь переводит свой ноутбук в новое место? –