Wie kann ich programmgesteuert ein Mac-Fenster zum Frontfenster zwingen? Ich habe den Fenstergriff und möchte sicherstellen, dass mein Fenster über allen anderen Fenstern angezeigt wird. Ich kann beide Carbon & Cocoa dafür verwenden.Wie erzwinge ich Mac-Fenster in den Vordergrund?
6
A
Antwort
12
Für Kakao, können Sie das Fenster Ebene gesetzt werden:
[window setLevel:NSFloatingWindowLevel];
Ein schwebendes Fenster wird vor allen anderen regulären Fenster angezeigt werden, auch wenn die App nicht aktiv ist.
Wenn Sie Ihre App aktiv machen möchten, können Sie verwenden:
[NSApp activateIgnoringOtherApps:YES];
und
[window makeKeyAndOrderFront:nil];
0
Wenn Sie (nur 32 Bit) verwenden kOverlayWindowClass:
WindowRef carbon_window = NULL;
CreateNewWindow(kOverlayWindowClass , ... , &carbon_window);
// if you need cocoa:
NSWindow *cocoa_window = [[NSWindow alloc] initWithWindowRef:carbon_window];
Andernfalls erstellen Sie ein NSWindow und legen Sie die Fensterebene auf kCGOverlayWindowLevel
fest.
Beachten Sie, dass dies auch über dem Armaturenbrett sein wird. Wenn Sie unter dem Dashbord sein möchten, verwenden Sie kCGUtilityWindowLevel.
Verwandte Themen
- 1. Wie erzwinge ich den Browser zum Download im Vordergrund?
- 2. Wie programmgesteuert in den Vordergrund zu bringen
- 3. Wie erzwinge ich den Garbage Collector?
- 4. Wie mache ich ein NSView in den Vordergrund aller NSViews
- 5. Wie bringe ich das Widget in den Vordergrund?
- 6. Wie führe ich einen NSView in den Vordergrund aller NSViews?
- 7. Force messagebox in den Vordergrund
- 8. Forcieren meiner Aktivität in den Vordergrund?
- 9. Bringe UIImageView beim Animieren in den Vordergrund
- 10. AlarmManager bringt Aktivität in den Vordergrund
- 11. App in den Vordergrund bringen und "sperren"?
- 12. Aufgabe in den Hintergrund senden und in den Vordergrund bringen
- 13. Wie bringt man Anwendungen in ios in den Vordergrund?
- 14. Wie erzwinge ich eine Klasse?
- 15. Wie erzwinge ich den Kompatibilitätsmodus für alle IE-Versionen?
- 16. Wie erzwinge ich den Cache/die Cookies des Benutzers?
- 17. Wie erzwinge ich einen Versionskonflikt in iCloud
- 18. Wie bringt man einen verwaisten Hintergrundprozess zurück in den Vordergrund?
- 19. Wie SelectItem Vordergrund in LongListSelector
- 20. Wie erzwinge ich, dass IntelliJ IDEA den Begrüßungsbildschirm erneut anzeigt?
- 21. Wie erzwinge ich den Rückgabetyp einer statischen generischen Methode?
- 22. Wie erzwinge ich den Download einer Datei über Flysystem?
- 23. Wie erzwinge ich, dass der Compiler den expliziten Kopierkonstruktor verwendet?
- 24. Wie erzwinge ich, dass Jade den Block-Tag nicht einrückt?
- 25. fadein den Hintergrund, aber nicht in den Vordergrund
- 26. Wie erzwinge MySQL den TRADITIONAL-Modus?
- 27. php - Wie erzwinge den Download einer Datei?
- 28. Wie erzwinge Universal Application den Speicher freizugeben?
- 29. Wie erzwinge PopupMenu den Anker zu überlappen?
- 30. Erzwinge android libgdx in den immersiven Modus
Sprechen Sie über ein Fenster in Ihrem eigenen Programm? Oder möchtest du mit den Fenstern anderer Apps umgehen? – Yuji
Raymond Chen schrieb über dieses Problem, als er die wichtige Frage stellte: "Was ist, wenn zwei Programme das getan haben?" Sobald Sie das erkannt haben, werden Sie verstehen, dass dies niemals _force_, nur _request_ dies kann. – MSalters