Gibt es eine Möglichkeit, ein "makeKeyAndOrderToFront" zu erstellen, ohne in der Anwendung zu sein?
Wenn ich in Safari und in der Menüleiste bin, gibt es ein MenuItem zu meiner App, nachdem ich dies drücke, möchte ich ein Fenster meiner App im Vordergrund anzeigen (makeKeyAndOrderToFront macht dies nur, wenn Sie in der Anwendung sind) .
Welchen Weg kann ich benutzen? Und wie kann ich dieses Fenster animieren (wie Tweeties Neuen Tweet hinzufügen - & gt; atebits.com).
Danke!
Wie Sie festgestellt haben, hat die Änderung der Fensterreihenfolge in Ihrer Anwendung keine Auswirkung auf die aktive Anwendung. Sie können Ihre Anwendung in den Vordergrund bringen, indem Sie sie aktivieren:
%Vor%Wenn Ihre Anwendung über ein Dock-Symbol verfügt, ähnelt das Verhalten dem Benutzer, der darauf klickt.
Wenn Ihre Anwendung eine Verbindung zum Windows-Server hat (bei Verwendung von AppKit oder Carbon), können Sie die Core Services-Funktion SetFrontProcess()
in den Vordergrund bringen. SetFrontProcessWithOptions()
kann verwendet werden, um nur das vorderste nicht schwebende Fenster Ihrer App in den Vordergrund zu bringen. Diese Funktionen scheinen für 64-Bit-Anwendungen verfügbar zu sein. Wenn Sie jedoch auf 10.6+ abzielen, ist es wahrscheinlich besser, wenn Sie die NSRunningApplication
class. Etwas wie
sollte den Trick machen.
Tags und Links objective-c animation cocoa nswindow makekeyandordertofront