Hi,
ich habe angefangen eine Komponente zu erstellen die ein Icon in der Trayleiste anzeigt und durch anklicken ein Popupmenü darstellt. Derzeit habe ich 3 Probleme dabei:
1. Wie kann ich ein TBitmap an ein NSImage übergeben. Ich möchte nicht das Icon im Appbundle liegen haben und manuell laden.
2. Wie kann ich unter OSX ein Popupmenü nehmen und das in ein NSMenu umwandeln? Zur Zeit mache ich so etwas:
Delphi-Quellcode:
Item:= TNSStatusBar.Wrap(TNSStatusBar.OCClass.systemStatusBar).statusItemWithLength(NSVariableStatusItemLength);
Item.retain;
Item.setHighlightMode(true);
Item.setAction(sel_getUid(PAnsiChar('itemclick:')));
Item.setToolTip(NSSTR('Zeitverwaltung'));
Item.setTarget(self);
...
Item.setMenu(FNSMenu);
Item.release;
Das geht, ich will nur nicht alles händisch einbauen
3. Unter Windows mache ich :
Delphi-Quellcode:
SetForegroundWindow(FHandle);
GetCursorPos(P);
MainMenu.Popup(P.x,P.y);
Allerdings liegt das Popupmenü hinter der Trayleiste und ist so nicht zu gebrauchen.
Peter