2010-06-10 11 views

Odpowiedz

4

Podaj swoje okno jako delegat. Metody NSWindowDelegate protocol mają windowWillResize:toSize: i windowWillMove:.

+1

Czy to działa na wszystkich oknach? Mam na myśli nie tylko ten z aplikacji? –

2

Biorąc pod uwagę twoją odpowiedź na odpowiedź Carla, proponuję, aby Accessibility API, który daje ci dostęp (i wierzę, że powiadomienia o zmianie ramek) dla wszystkich okien, a nie tylko aplikacji.

+0

To jest dobry pomysł, niestety, powiadomienia są zgłaszane, gdy coś jest zrobione, a nie podczas przenoszenia lub zmiany rozmiaru :( –

+0

To jest niestety najlepsze, co można zrobić dla okien innych aplikacji –

1

Jeśli chcesz rozmiar/zamówienie okna, spójrz na CGWindow.h. CGWindowListCreateDescriptionFromArray() jest prawdopodobnie tym, czego potrzebujesz.

NSWindowList() jest również przydatna dla listy okien.

-1

w Swift mój AppDelegate wyglądał następująco:

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

Nie ma żadnej właściwości okna w klasie AppDelegate. – Lubos

Powiązane problemy