Eigener NSCursor erscheint nicht im Fullscree

Dieses Thema im Forum "Mac OS X Entwickler, Programmierer" wurde erstellt von DerTeta, 06.10.2005.

  1. DerTeta

    DerTeta Thread Starter MacUser Mitglied

    Beiträge:
    2
    Zustimmungen:
    0
    MacUser seit:
    06.10.2005
    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?
     
  2. DerTeta

    DerTeta Thread Starter MacUser Mitglied

    Beiträge:
    2
    Zustimmungen:
    0
    MacUser seit:
    06.10.2005
    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.
     
Die Seite wird geladen...
Ähnliche Themen - Eigener NSCursor erscheint
  1. Palindrom
    Antworten:
    4
    Aufrufe:
    416
    Palindrom
    31.03.2015
  2. Nachtschatten
    Antworten:
    9
    Aufrufe:
    773
    below
    26.04.2007
  3. marco604
    Antworten:
    2
    Aufrufe:
    2.928
    marco604
    21.01.2006