Einzelnen Beitrag anzeigen

CHackbart

Registriert seit: 22. Okt 2012
260 Beiträge
 
#5

AW: MacOS Menüeinträge

  Alt 23. Okt 2015, 11:22
Ich beantworte das mal, da ich ebenfalls auf das Problem gestoßen bin.

Es scheint irgend ein Problem mit submenu zu geben. Sobald man ein Element im Untermenü holen will, gibt es eine Exception. Irgendwie finde ich den Plattform Code auch etwas undurchsichtig, aber wenn man "eh" schon selber Hand anlegen muss, kann man auch seinen eigenen Code einbinden:

In constructor TFMXOSMenuItem.Create(const AFMXMenuItem: TMenuItem); habe ich folgendes ergänzt:

Delphi-Quellcode:
 if AFMXMenuItem.Tag = -99 then
      begin
        ServiceMenu := TNSMenu.Create;
        ServiceMenu := TNSMenu.Wrap(ServiceMenu.init);
        NSMenuItem(Super).setSubmenu(ServiceMenu);
        TNSApplication.Wrap(TNSApplication.OCClass.sharedApplication).
         setServicesMenu(ServiceMenu);
      end;
So braucht man den TAG vom Servicemenü lediglich auf -99 setzen und schon wird das Menü hinzugefügt. Der Vorteil ist dabei, dass man nicht dauernd prüfen muss, ob das Menü neu aufgebaut wurde. Eine Helferklasse wäre natürlich besser, aber man(n) ist ja etwas faul

Christian
  Mit Zitat antworten Zitat