## 2.5 Creating and Configuring Widgets

The next function is responsible for allocating and initializing a widget.

`EZ_Widget *EZ_CreateWidget(int type, EZ_Widget *parent, ...)`

This function creates a widget of the given type and configure the created widget using the supplied configuration options.

Widget Types

Symbolic Type | Short Description
`EZ_WIDGET_3D_CANVAS` | 3DCanvas widget
`EZ_WIDGET_CHECK_BUTTON` | Check button
`EZ_WIDGET_EMBEDER` | Embeder
`EZ_WIDGET_ENTRY` | Entry widget
`EZ_WIDGET_EXECUTOR` | Executor widget
`EZ_WIDGET_FANCY_LIST_BOX` | Fancy listbox widget
`EZ_WIDGET_FRAME` | Frame or Labeled frame
`EZ_WIDGET_FREE_LABEL` | Free label
`EZ_WIDGET_FILE_SELECTOR` | File selector
`EZ_WIDGET_GRID_BAG` | Grid bag container widget
`EZ_WIDGET_HORIZONTAL_SCROLLBAR` | Horizontal scrollbar
`EZ_WIDGET_HORIZONTAL_SLIDER` | Horizontal slider
`EZ_WIDGET_ICON` | Icon
`EZ_WIDGET_IFANCY_LIST_BOX` | Internal fancy listbox widget
`EZ_WIDGET_ILIST_BOX` | Internal listbox
`EZ_WIDGET_ITEXT` | Internal text widget
`EZ_WIDGET_ITREE` | Internal list tree
`EZ_WIDGET_IWORK_AREA` | Internal work area widget
`EZ_WIDGET_LABEL` | Label
`EZ_WIDGET_LIST_BOX` | Listbox
`EZ_WIDGET_MENU_BUTTON` | Menu button
`EZ_WIDGET_MENU_SEPARATOR` | Menu separator
`EZ_WIDGET_MENU_SUBMENU` | Submenu item on menu
`EZ_WIDGET_MENU_NORMAL_BUTTON` | Regular button item on menu
`EZ_WIDGET_MENU_CHECK_BUTTON` | Chech button item on menu
`EZ_WIDGET_MENU_RADIO_BUTTON` | Radio button item on menu
`EZ_WIDGET_NB_PAGE` | Notebook page
`EZ_WIDGET_NORMAL_BUTTON` | Push button
`EZ_WIDGET_NOTE_BOOK` | Notebook widget
`EZ_WIDGET_NW_LABEL` | No window label
`EZ_WIDGET_OPTIONAL_ENTRY` | Combo box
`EZ_WIDGET_PANE_HANDLE` | Pane handle
`EZ_WIDGET_POPUP_MENU` | Popup/pulldown menu
`EZ_WIDGET_RADIO_BUTTON` | Radio button
`EZ_WIDGET_RAW_XWINDOW` | Raw X window
`EZ_WIDGET_TEXT` | Text widget
`EZ_WIDGET_TREE` | List tree widget
`EZ_WIDGET_VERTICAL_SLIDER` | Vertical slider
`EZ_WIDGET_VERTICAL_SCROLLBAR` | Vertical scrollbar
`EZ_WIDGET_WORK_AREA` | Work area widget

All EZ widgets have a set of settable attributes, like the way to arrange children widgets, geometry, foreground/background color, label string/bitmap etc. These attributes can be set at the time when a widget is created (using `EZ_CreateWidget`) or can be altered any time using the next function.

`void EZ_ConfigureWidget(EZ_Widget *widget, ...)`

Below are the common configuration options for EZ widgets.

HTML Documentation Maintainance:`Arturo Espinosa <arturo@nuclecu.unam.mx>`