2011-08-11 2 views
1

응용 프로그램이 활성 인 경우에만이 메서드를 사용하여 NSStatusItem 메뉴를 표시합니다.응용 프로그램이 활성 상태 인 경우에만 NSStatusItem 메뉴 표시

-(void)menuWillOpen:(NSMenu*)menu{ 
    if(![NSApp isActive]){ 
     [menu cancelTracking]; 
    } 
    [[NSApplication sharedApplication] activateIgnoringOtherApps:YES]; 
    [window makeKeyAndOrderFront:self]; 
} 

완벽하게 작동하지만 cancelTracking은 NSStatusItem의 파란색 강조 표시를 차단하는 것 같습니다. 그래서 상태 메뉴 항목을 클릭하면 하위 메뉴가 표시되지 않고 기본 창이 표시되지만 아이콘은 강조 표시되지 않습니다. 어떻게 할 수 있습니까?

답변

1

상태 항목이 강조 표시 될 때를보다 정확하게 제어해야하는 경우 사용자 지정보기를 만드는 것이 좋습니다. 그런 다음 mouseDown: 등을 사용할 수 있습니다. This은 상태 항목에 사용자 정의보기를 추가하는 좋은 예입니다.

관련 문제