No. That’s among my Top Five Xojo regrets. All my Popups ups just have text (sigh).
We old-timers all know that one of the Core Principles of REAL/Xojo is to use standard OS controls. That’s for the most part a good thing. The problem is when you run into “common things” that you see in other programs, or things that lend to saying “why not?” that aren’t in the standard OS control feature set.
In other other, more DIY development environments, they can subclass INTO the OS control themselves and add features, which is how most non-Xojo programs achieve icons on popupmenus. Within Xojo, you can subclass what Xojo gives you, but you can’t change the very thing of what it is. Kind of like getting a car and being able to paint it, put on bumper stickers, etc. but not being able to alter the engine or change the suspension.
Since don’t want Xojo to be more complicated on it’s face, I"m glad it’s that way. However, it WOULD be nice if Xojo allowed some customization, if possible - and it should be possible. The tradeoff would be possible incompatibility with future OS’s, and that isn’t something we want.
To address the question directly - the solution is to make your own popup menu based on a Canvas. Again, the problem is that YOU have to accommodate new styles and looks and behaviors of OS’s, not only based on the OS itself but also the theme/skin the user has. Well, you don’t HAVE TO, but it sure looks cheesy when your popupmenus don’t look like all the other ones in the system.
I’ve made my own PopupMenu that goes into my Listbox subclass, so I can have PopupMenus in my Listboxes. But I make the same compromise that I just mentioned (sigh).
Lastly, in conclusion, if you study all types of non-Xojo apps, you’ll see how much they subclass the basic feature set.