Рисование окна в координатах или рисование вне элемента NSStatus - PullRequest
0 голосов
/ 08 января 2011

Я пытаюсь отобразить что-то вне NSStatusItem. Я думаю, что мог бы сделать это двумя способами:

Отображение прозрачного окна с нужным мне изображением в координатах курсора мыши.

OR

Используйте пользовательский элемент NSStatusItem и переместите элементы управления / изображения в представлении влево, чтобы они фактически вышли из элемента состояния

Проблема в том, что установка отрицательного фрейма NSRect (-200,0,100,50) на самом деле не работает. Итак, как я могу визуализировать вещи за пределами элемента статуса (например, свойство CSS overflow) или визуализировать прозрачное окно с определенными координатами?

1 Ответ

1 голос
/ 08 января 2011

Система не позволит вам рисовать вне элемента статуса, но будет работать прозрачное окно.

NSRect rect; //The location of the window
NSWindow *win = [[NSWindow alloc] initWithContentRect:rect styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:YES];
[win setOpaque:NO];

[win setBackgroundColor:[NSColor clearColor]];
//or
[win setContentView:myView];

Здесь myView - это пользовательский вид, который будет фоном окна. Чтобы окно было прозрачным, вы должны либо установить цвет фона, чтобы очистить, либо использовать пользовательский вид содержимого, который рисует только там, где оно не прозрачно. Возможно, вы захотите использовать плавающее окно, чтобы оно оставалось сверху. Будьте осторожны, чтобы не прикрыть что-то важное, потому что ваше окно может перехватывать события, предназначенные для чего-то под ним.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...