Eigener NSCursor erscheint nicht im Fullscree

DerTeta

Registriert
Thread Starter
Dabei seit
06.10.2005
Beiträge
2
Reaktionspunkte
0
Hi,

ich arbeite zur Zeit an einer Fullscreen Applikation in Cocoa, die wie auf
http://cocoadevcentral.com/articles/000028.php beschrieben den Vollbild-
modus herstellt. Ich benutze allerdings eine eigene Subklasse von NSView
als Content View.

Dazu erstelle ich in dieser Subklasse einen eigenen NSCursor mit einem
TIFF Bild und erstelle damit ein CursorRect wie folgt:

- (void)resetCursorRects {
[super resetCursorRects];
NSPoint upperLeft = {46.0, 40.0};
wandCursor = [[NSCursor alloc] initWithImage:cursorImage
hotSpot:upperLeft];

[self addCursorRect: [self frame] cursor: wandCursor];
}

Der Cursor wird auch angezeigt, wenn ich den Vollbildmodus im Code
gar nicht erst aktiviere. Im Vollbildmodus wird er allerdings gar nicht
angezeigt. Wenn ich einen Standard-Cursor verwende (wie z.B.
crosshairCursor), wird dieser auch im Vollbildmodus korrekt angezeigt.

Weiss jemand, woran das liegen kann?
 
Hi,

ich habe mittlerweile ein Workaround für das Problem gefunden:
Das ShieldingWindow habe ich weggelassen und stattdessen durch

SetSystemUIMode(kUIModeAllHidden,
kUIOptionDisableAppleMenu |
kUIOptionDisableForceQuit |
kUIOptionDisableHide |
kUIOptionDisableProcessSwitch |
kUIOptionDisableSessionTerminate);

die Menubar und das Dock verstecken. Mit dieser Lösung wird mein
NSCursor nicht mehr verdeckt und wird korrekt angezeigt.

Man sollte sich aber bevor der oben angegebene Code ausgeführt wird
mit GetSystemUIMode zunächst den UIMode sichern und beim Beenden
mit SetSystemUIMode wiederherstellen. Dafür muss dann noch Carbon
eingebunden werden.
 
Zurück
Oben Unten