Ermitteln, ob das Fenster ein Schlüsselfenster in Kakao ist

7

Ich mache eine Anwendung, die der Benutzer mit einem Fenster interagieren muss und wenn sie das Fenster so konfiguriert haben, wie sie es wollen, wechseln sie zu einer anderen Anwendung, dann wird meine Anwendung anfangen, andere Dinge zu tun, die ich definiert habe in einer Methode

sagen für ein Beispielprogramm, wenn das Hauptfenster den Fokus hat, enthält es eine Beschriftung, die sagt "ich bin fokussiert" und wenn die Person auf den Desktop oder ein anderes Fenster / Anwendung klickt, dann wird das Etikett lesen "Ich bin nicht fokussiert".

Danke

    
Zanok 24.06.2010, 04:56
quelle

2 Antworten

9

Das ist nicht dasselbe wie das Schlüsselfenster. Schlüsselfenster bedeutet, dass Sie Eingabeereignisse für Ihre Anwendung erhalten. Was Sie wissen möchten, ist, ob Ihre Anwendung im Vordergrund steht. Sie suchen nach den NSApplication Benachrichtigungen NSApplicationDidBecomeActiveNotification und NSApplicationDidResignActiveNotification . Beobachten Sie diese, um festzustellen, ob Ihre Anwendung im Vordergrund steht oder nicht. Die applicationDidBecomeActive: und applicationDidResignActive: Ihres Anwendungsdelegaten werden bei diesen Ereignissen automatisch aufgerufen.

    
Rob Napier 24.06.2010, 05:05
quelle
11

[NSWindow isKeyWindow] könnte das sein, wonach Sie suchen.

  

Gibt an, ob das Fenster das Schlüsselfenster für die Anwendung ist.

     

- (BOOL) isKeyWindow

     

Rückgabewert YES, wenn das Fenster das Schlüsselfenster für die Anwendung ist; sonst, NEIN.

Wenn Sie erkennen möchten, wann Ihr Fenster zum Schlüssel wird oder wann es nicht mehr der Schlüssel ist, sehen Sie sich die Meldungen NSWindowDidBecomeKeyNotification und NSWindowDidResignKeyNotification an.

    
robinjam 24.06.2010 05:02
quelle

Tags und Links