Combo boxes in Dialogs are added by adding a DialogField object with the type of an enum. The enum is then controlling what items you can pick from the combo box.
But sometimes you may need to add a combo box with run time generated item and you of course don't have an enum for those. The Dialog framework won't really allow you to do that - it insists on getting the type of an enum.
Usually I solve this by creating a form to use as dialog in stead, but yesterday it occured to me that I could add a combo box the way Dialog likes it and then 'hijack' the form control object and modify it to my needs.
So I add a DialogField with the type of any enum, except NoYes, which makes Dialog create the combo box control and then I get hold of the control and modify its properties. The NoYes enum won't work becasue it'll make Dialog add a check box and not a combo box.
Here's an example:
static void comboBoxHiJacker(Args _args)
Dialog dialog = new Dialog();
// Any enum, except NoYes, will do.
dialogField = dialog.addField(typeId(ABC));
formComboBoxControl = dialogField.control();
formComboBoxControl.label("My combo box");
This posting is provided "AS IS" with no warranties, and confers no rights.