Wie erhalte ich die Cursorposition relativ zum Fenster in Mac OS X?

8

Ich kann [NSEvent mouseLocation] verwenden, um die Position des Cursors zu erhalten, aber das gibt mir die Bildschirmkoordinaten. Wie bekomme ich die Koordinaten des Cursors relativ zur Ansicht, wenn sie darin enthalten ist? Ich habe die Apple-Dokumentation durchsucht und konnte keine Antwort finden.

Wenn es einen Unterschied macht, werde ich ständig die Mausposition abrufen wollen, da sie in jedem Frame-Update verwendet wird.

    
mk12 18.09.2011, 19:39
quelle

3 Antworten

7
%Vor%

Stellen Sie außerdem sicher, dass Sie mouseMoved-Ereignisse aktiviert haben:

%Vor%     
omz 18.09.2011, 19:50
quelle
9

Der Vollständigkeit halber gibt es einen direkten Weg, um die Mausposition in Fensterkoordinaten zu erhalten (mit NSWindow). Abhängig von Ihrem Fensterlayout entspricht dies möglicherweise den Koordinaten der Ansicht.

%Vor%

Die zurückgegebenen Koordinaten befinden sich in Fensterkoordinaten. Wenn die Maus also links von / unter dem Fenster steht, wird ein negativer Wert zurückgegeben. Wenn sich die Maus rechts von / über dem Fenster befindet, überschreitet die Koordinate die Fenstergröße.

    
user3806037 10.11.2014 23:21
quelle
7
%Vor%     
Mats 18.09.2011 19:48
quelle