Cocoa - Kein Dock Icon,kein MainMenu

Dieses Thema im Forum "Mac OS X Entwickler, Programmierer" wurde erstellt von Stalkingwolf, 11.08.2002.

  1. Stalkingwolf

    Stalkingwolf Thread Starter MacUser Mitglied

    2
    0
    11.08.2002
    Und zwar möchte ich ein Programm schreiben, was nur ein Menu in der rechten oberen Ecke von OSX läuft. Dort wo auch die Uhr, Batterie usw angezeigt wird.
    Leider habe ich keine Ahnung wie ich das Dock Icon ausblende, kein MainMenu habe und mein NSMenu genau dort oben plaziere.
    In meinem Buch "Cocoa Programming for Mac OS X" konnte ich nichts finden und im Netz genau so wenig. Hab nämlich nicht mal nen Schimmer wonach ich suchen soll.

    Ich habe diverse Programm, LaunchBar, WeatherPop, die ein Menu dort ablegen, ich habe mir auch die Nib Files im Interface Builder angeschaut, wurde aber nicht schlau daraus.

    Vielleicht kann mir ja hier jemand helfen.
    Gruß Sven
     
  2. mdev

    mdev MacUser Mitglied

    24
    0
    22.08.2002
    Diese Art von Menu nennt sich "Menu Extra", und greift haeufig auf eine von Apple als "private" markierte API zurueck. Apple raet (aus sehr gutem Grund) davon ab, diese API zu nutzen.

    Sicherer ist der Ansatz, sich per [NSStatusBar systemStatusBar] einen Zeiger auf die Statusanzeige des Systems zu holen, und dort dann die Dinge einzufuegen, die man haben will.

    Um zu Verhindern, dasz die Applikation im Dock auftaucht gibt es zwei Moeglichkeiten, die beide in der Info.plist einzutragen sind:

    - NSUIElement auf 1 setzen
    Damit bekommt deine Applikation allerdins den Fokus (acceptFirstResponder auf NO setzen, um das zu Verhindern) Das ist allerdings von der Version des AppKits abhaengig, ich weisz nicht, ob und wo Apple das gefixt hat

    - NSBGOnly auf 1 setzen
    Damit bekommt deine Applikation den Fokus nicht, allerdings wirst du dann ein Problem haben, wenn du ein Fenster zum Beispiel fuer Voreinstellungen anzeigen willst, da du nicht FirstResponder werden kannst
     
  3. Stalkingwolf

    Stalkingwolf Thread Starter MacUser Mitglied

    2
    0
    11.08.2002
    thx.
    habs anders gelöst.

    myMenu = [[[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength] retain];
    [myMenu setTitle:mad:"<haltEinTitel>"];
    [myMenu setHighlightMode:YES];
    [myMenu setMenu:<irgendEinMenü>];

    aus dem .h:
    NSStatusItem* myMenu;

    kann ich zwar nicht mit Apfel verschieben, aber es funzt.

    Sven
     
Die Seite wird geladen...
Ähnliche Themen - Cocoa Kein Dock
  1. Wallnusskaese
    Antworten:
    4
    Aufrufe:
    1.049
    Wallnusskaese
    30.09.2014
  2. MichaHo
    Antworten:
    14
    Aufrufe:
    1.011
    MichaHo
    13.05.2014
  3. mash3010
    Antworten:
    4
    Aufrufe:
    589
    mash3010
    30.05.2013
  4. Schulz89
    Antworten:
    8
    Aufrufe:
    1.108
    Schulz89
    21.05.2012
  5. magicman78
    Antworten:
    2
    Aufrufe:
    1.807
    magicman78
    30.05.2011

Diese Seite empfehlen