Jak programowo wymusić okienko mac jako okno przednie? Mam uchwyt okna i chcę upewnić się, że moje okno jest wyświetlane ponad wszystkimi innymi oknami. Mogę użyć do tego celu zarówno kofeiny Carbon &.Jak zmusić okno Mac na pierwszym planie?
6
A
Odpowiedz
12
kakao, można ustawić poziom okna przy użyciu:
[window setLevel:NSFloatingWindowLevel];
pływająca oknie pojawi powyżej wszystkich innych zwykłych okien, nawet jeśli aplikacja nie jest aktywna.
Jeśli chcesz, aby Twoja aplikacja aktywny, można użyć:
[NSApp activateIgnoringOtherApps:YES];
i
[window makeKeyAndOrderFront:nil];
0
Jeśli można (tylko wersja 32-bitowa) używać kOverlayWindowClass:
WindowRef carbon_window = NULL;
CreateNewWindow(kOverlayWindowClass , ... , &carbon_window);
// if you need cocoa:
NSWindow *cocoa_window = [[NSWindow alloc] initWithWindowRef:carbon_window];
W przeciwnym razie utwórz plik NSWindow i ustaw poziom okna na kCGOverlayWindowLevel
.
Należy pamiętać, że będzie to również nad deską rozdzielczą. Jeśli chcesz być poniżej deski rozdzielczej, użyj kCGUtilityWindowLevel.
Mówisz o oknie w swoim programie? A może chcesz zajmować się oknami innych aplikacji? – Yuji
Raymond Chen napisał o tym właśnie problemie, gdy zadał ważne pytanie: "Co by było, gdyby dwa programy to zrobiły?" Kiedy to zrozumiesz, zrozumiesz, że nigdy nie można tego zrobić, tylko żądamy tego. – MSalters