If you project isn't too far already, maybe you can switch to fpGUI Toolkit [1].
Wow.! First, I am glad meet you here, because I am learning fpGUI since days ago..
I am surprised by you Graeme.
No, it's not too far yet.
Currently my toolbar is inherited from TCustomPaintBox32 (Graphics32) for handling cross-platform surface.
So, it should work together with QT,GK,Carbon (and any widgetset supported by GR32).
But my toolbar doesn't intensively depends on GR32.
Because of the appearance is low priority for me, so I leave it as still using TCanvas (which is provided internally by GR32) operation as also original toolbar97 did.
In fpGUI there is a TfpgPopupWindow [2] class which does just want you want and works cross platform. It can popup, but you can also prevent it from stealing focus. In fact, that is how fpGUI implements Hints, Splashscreens, ComboBox dropdown, CalendarCombo dropdown etc.
You might want to say: "..wich does just what you want.."
Yeah! that is what I wanted.
Okay, I will take this challenge In separated different purpose.
For combining of using fpGUI in my toolbar with general purpose, I have question, Graeme:
When I have switched my toolbar to support fpGUI Toolkit only, could I attach this toolbar into Lazarus IDE ?
If I could not, no problem. I still want to try switch it to fpGUI.
I just wonder if I were able.
=========================
For current progress of flying toolbar, in case you want to know,
I am thinking (give me time) about the license of the library.
I preserve it would released under MPL/LGPLv2 as GR32's license, or as same as LCL license...
Since the original toolbar97 doesn't choose any lincense explicitely. TB97 author said it is opensource.