0

Continuing the favorite question from last year, and with Delphi XE3 (Firemonkey 2) out there is still vague support for the silly little tray icon, on any platform whether it's full-fledged OS or iOS.

Suppose we have a tray icon by using platform-dependent code. How would you "click" that icon to receive an FMX HD Form (perhaps a menu or a more hi-fi experience)? There are a few tricky things to overcome, and please think of a way to do so without installing OS support outside of the application, such as ActiveX/DCOM component... :-)

Cheers!

David Heffernan
  • 601,492
  • 42
  • 1,072
  • 1,490
Etamar Laron
  • 1,172
  • 10
  • 23
  • This seems odd. Your question talks about platform specific code. But you don't talk about the platforms involved or tell us about the code. – David Heffernan Feb 18 '13 at 07:50
  • @DavidHeffernan tray icon implies Windows as in OS X the similar item is called a 'menu bar icon'. Don't know if that helps OP though. – Gregor Brandt Feb 18 '13 at 19:50
  • @GregorBrandt Well, in Windows there's no such thing as a tray icon, FWIW. It's a taskbar status area icon. So I think terminology is being used loosely. And the question explicitly mentions iOS as well. So, who knows? – David Heffernan Feb 18 '13 at 22:40
  • @DavidHeffernan lol,you are correct. – Gregor Brandt Feb 18 '13 at 23:13
  • Thanks guys, however your pondering may be misplaced. The FireMonkey framework is Cross-Platform, and as such it deals with anything from menu items (aka menu lines, menus, or other terminology across OSes) to animation, to panels, layouts, cross-platform color schemes etc'... so my question remains: given the cross-platform nature of "tray icon" (aka many other names) across platforms - but always residing there - how do you perform the required task? – Etamar Laron Feb 21 '13 at 16:28
  • I think the important definition here is whether iOS can have a 'taskbar icon' from an application. Obviously Windows and OS X can, but I've never seen a custom icon in the top 'tray' area on iOS. All of the icons appear to come from the operating system itself (Music playing, Wireless signal, Wifi, Carrier name, etc). With that in mind, creating a cross platform solution would limit you to Windows and OS X, and so correctly structured code with IFDEFs would suffice. As for the calls required to do this on both platforms, I'm unsure of that, though a quick Google should solve that. – Scott P Mar 02 '13 at 18:13
  • Yes, the same goes to selecting a directory using the standard operating-system file-open dialog (they do provide it for files, not for folders... why? good question, it is applicable for both...). We could write the entire thing with IFDEFs, I agree. But it kind of takes the point out of having a cross-platform framework, doesn't it? :-) – Etamar Laron Mar 14 '13 at 22:17

1 Answers1

1

Not sure if you're looking for an existing component to do this, or working out how to do it yourself. If the former, the ApeSuite FM components http://arcana.sivv.com/apesuite/ have a cross-platform TrayIcon component that translates to the Menu Bar on OSX.

Malcolm Groves
  • 771
  • 3
  • 6