ENUM_GUI_OBJECT

Id Constant Create Notes
0 GUI_OBJ_BUTTON guiAdd / guiAddButton Clickable push button.
1 GUI_OBJ_CHECKBOX guiAdd / guiAddCheckbox Toggle; GUI_OBJPROP_CHECKED.
2 GUI_OBJ_RADIO guiAdd / guiAddRadio Mutual exclusion via GUI_OBJPROP_RADIO_GROUP.
3 GUI_OBJ_LABEL guiAdd / guiAddLabel Static caption.
4 GUI_OBJ_TEXT guiAdd / guiAddText Filled background text area.
5 GUI_OBJ_EDIT guiAdd / guiAddEditbox Single-line editable field.
6 GUI_OBJ_DROPDOWN guiAdd / guiAddDropDown Combo list; row APIs for items.
7 GUI_OBJ_LINK guiAdd / guiAddLink Hyperlink; GUI_OBJPROP_URL.
8 GUI_OBJ_MENU guiAddMenu only Not accepted by guiAdd.
9 GUI_OBJ_RADIO_GROUP guiAdd / guiAddRadioGroup Allocates a radio group id (>= 1).
10 GUI_OBJ_GROUPBOX guiAdd / guiAddGroupBox Decorative frame only.

Read type: guiObjectGetInteger(gui_id, handle, GUI_OBJPROP_TYPE).

Handles from guiAdd

int guiAdd(int gui_id, int object_type,
           int pos_x = 0, int pos_y = 0,
           int width = 0, int height = 0,
           string text = "");

Returns a positive handle on success, 0 on failure (check guiGetLastError).

Radio Groups

  • radio_group = 0: all radios with group 0 share one default group.
  • Allocate explicit ids: int grp = guiAddRadioGroup(gui_id); then pass grp to guiAddRadio(..., radio_group = grp, ...).
  • Setting GUI_OBJPROP_RADIO_GROUP to an unallocated id still stores the value but records GUI_ERR_INVALID_RADIO_GROUP (radios will not mutual-exclude).

GUI_OBJ_MENU handles come only from guiAddMenu. They are not counted in guiObjectsTotal / guiObjectHandle (those enumerate chart-window objects only).