2012-01-21 2 views
0

У меня есть простое приложение с NSStatusItem, в котором отображается только значок.MAAttachedWindow для NSStatusItem без пользовательского представления

Теперь я хотел бы добавить функциональность, которая приведет к появлению MAAttachedWindow под NSStatusItem.

Я видел демонстрационный код Matt Gemmel; код он использует, чтобы сделать MAAttachedWindow появляются под NSStatusItem является:

NSRect frame = [[self window] frame]; 
NSPoint pt = NSMakePoint(NSMidX(frame), NSMinY(frame)); 
[controller toggleAttachedWindowAtPoint:pt]; 

выше сделано в пользовательском зрения NSStatusItem. Однако у моего NSStatusItem нет пользовательского вида. Как я могу добавить MAAttachedWindow в моем случае?

ответ

0

Вы не можете afaik. У вас должен быть способ получить координаты, чтобы прикрепить окно к этому, и единственный способ, которым я смог заставить это работать, - использовать пользовательский вид, чтобы вы могли получить координаты на мыши и единственный способ, вы видели, чтобы использовать ваш собственный взгляд. Все остальное, вероятно, было бы немного взломанным, если бы не был какой-то способ получить представление для элемента состояния без специального представления, и было бы неплохо отобразить MSAttachedWindow и меню.

Я только что решил сделать NSStatusitem с пользовательским представлением и подделкой путем рисования градиента фона при его выборе.

+0

Вы можете использовать незарегистрированное - (NSWindow *) _ окно в элементе состояния, предполагая, конечно, что вы не планируете отправлять его в магазин. –

0

Вы считаете, что используете NSPopover?

Смежные вопросы