2010-06-10 17 views

Antwort

4

Geben Sie Ihrem Fenster einen Delegierten. Die NSWindowDelegate protocol hat windowWillResize:toSize: und windowWillMove: Methoden.

+1

es für alle Fenster Funktioniert? Ich meine nicht nur den aus der Bewerbung? –

2

Angesichts Ihrer Antwort auf Carls Antwort, würde ich vorschlagen, die Accessibility API, die Ihnen Zugriff geben kann (und ich glaube Frame Change-Benachrichtigungen) für alle Fenster, nicht nur Ihre App.

+0

Es ist eine gute Idee leider, Benachrichtigungen werden ausgelöst, wenn etwas getan wird und nicht während des Verschiebens oder der Größenänderung :( –

+0

Es ist leider das Beste, was Sie für andere Anwendungen tun können. –

1

Wenn Sie die Fenstergröße/Bestellung wünschen, werfen Sie einen Blick auf CGWindow.h. CGWindowListCreateDescriptionFromArray() ist wahrscheinlich, was Sie wollen.

NSWindowList() ist auch nützlich für eine Liste von Fenstern.

-1

In Swift sah meine AppDelegate wie folgt aus:

func applicationDidFinishLaunching(notification: NSNotification) { 
    // Set NSWindowDelegate to respond to windowWillResize 
    window.delegate = self 
} 

func windowWillResize(sender: NSWindow, toSize frameSize: NSSize) -> NSSize { 
    println(frameSize) 
    return frameSize 
} 
+0

Es gibt keine Fenstereigenschaft in der AppDelegate-Klasse. – Lubos

Verwandte Themen