MulticolumnComboBox pop up under grid

If I drop a grid component just under the multi column combo box on the demonstration form (AdvTooButton.pas), then at runtime the popup box for the combo box is underneath the grid. Is there a way to ensure the pop up form is on top of other controls. The ZOrder property does not seem to help.


Are you using regions? If so, did you also try to set the region's ZIndex to ensure the item(s) that should stay on top have the highest ZIndex?

No. Not when I tested the problem in your application (Features) program. I just used the demonstration form and added a grid component underneath the combo box. Ran the application and the grid lines appear on top of the combo box pop up.

I have done some more testing. To ensure that the popup of the multicolumncombo box appears on top of all other controls, I need to ensure:

1. The ZOrder for the combo control is greater than the ZOrder of all other controls on the same region.
2. The ZOrder of the region needs to be higher than the ZOrder of all other regions.
3. If the ZOrder of the combo is equal, then the popup will appear underneath any controls added later.
I'm not sure how you would manage problems that might occur if you have combos on two separate regions.
Perhaps a good enhancement would be to at least set the ZOrder of the popup form to 1 more than that of the control?? However, the best solution would be to ensure that the popup always appears on top of everything. I can't imaging a situation where a popup is opened and it should be behind other controls.
Thanks for you idea on the region ZOrder.

Further to the above, if I have three combos on a single panel, one under the other, I have to set Z-Order of the top one to 3, the second to 2 and the third to 1 to make popups work properly.

In HTML, a child element automatically inherits the ZIndex of its parent, i.e. a child element's ZIndex can't be bigger than its parent element. All the ZIndex does for child elements is setting the relative Z order for all childs.