Ich habe eine Utility-Mac-Anwendung, die im Hintergrund läuft ( LSUIElement
enabled). Unter bestimmten Bedingungen zeigt diese Anwendung ein Menüfenster mit mehreren Schaltflächen an. Das Problem ist, dass, wenn ich den Mauszeiger über dieses Fenster halte, der Mauszeiger sich immer noch entsprechend der darunter liegenden Anwendung verhält - wenn Text unter dem Menü ist, ändert sich der Cursor in die Einfügung "I beam" shape.
Offensichtlich würde ich einen normalen Zeigerpfeil bevorzugen. Ich habe in NSTrackingArea
und Freunde getaucht, nachdem ich ein bisschen gehackt habe, kann ich die Maus-Enter- und Maus-Exit-Ereignisse erkennen. Aber wenn ich versuche, den aktuellen Cursor mit NSCursor
bei Mauseingabe zu ändern, passiert nichts. Es sieht so aus, als ob die Maschine es ablehnt, den Cursor von einer inaktiven Anwendung zu ändern, weil der Cursor sich ändert, wenn ich die Anwendung vor dem Mauseingabe-Ereignis aktiviere.
Ich möchte nicht die aktive Anwendung wechseln, nur um den Cursor zu ändern. Gibt es eine Möglichkeit, mit dem Cursor von einer inaktiven Anwendung zu spielen?
P.S. Das gleiche Problem auf dem Kakao-Entwickler: one , zwei .
Tags und Links macos cocoa mouse-cursor nscursor nstrackingarea