GUI widget

A control (English widget or control) is an element of interaction in a graphical user interface ( GUI), such as a button or a scroll bar.

The English name widget is a portmanteau formed from window, for " window ", and gadget, for " accessory ".


A graphical user interface consists of many individual elements, which are normally operated with the mouse. However, a text-based interface, such as Ncurses consists of controls.

Controls are linked in the program with functions that are executed when the element is activated for example by a mouse click. For example, the user presses a "save " button, whereby a corresponding function is invoked. This can be used to present a new dialogue, which requires a further input ( filename, path). This input is then given another function.

Depending on the GUI program library, there are only simple controls that make the programmer does his own dialogues assemble, or more complex elements for frequently used tasks, such as a finished dialog for saving a file in the tree structure of the file system, etc. of the toolkit is generated. For a list of available GUI program libraries, see List of GUI libraries.

Common controls

Possible alternative names and spellings can be found in the articles.

  • Form: The most invisible lying in the background of a window control that contains all other controls
  • Symbol, Icon: A graphic symbol, usually as a representative of a file or a window or the associated program.
  • Menu: Most occurring only once in a program or window selection list drop-down lists for the basic functions of a program. Can also be placed outside the program window, such as at the top of the screen in Mac OS and some Linux surfaces
  • Toolbar: An area with several, mostly pictorial buttons (icons) for program functions. Can supplement or even replace them entirely a menu.
  • Label, label: . For simple text
  • Text box: A - or multi-line field for input or output of numbers or text.
  • Button, Button: An area to click in order to trigger an action.
  • Checkbox, checkbox: Can usually be set or not set, are sometimes grayed out.
  • Radio button, radio button: To select an option from a group of two or more.
  • List box, list box, to select text and other objects. Multi-line often with a vertical scroll bar.
  • Combo box, combo box: Combination of text box and list box, the list box is displayed below the text box or can be expanded.
  • Drop-down list box, drop-down list: combination of read-only text field and fold-out list, so that the text field can accept only one of the entries in the list.
  • Tree, tree view: A node with hinged hierarchical selection list. The best known example is the display of the folder tree in Windows Explorer.
  • Scroll bar, scroll bar: Used to move the window contents vertically or horizontally or adjust values ​​infinitely
  • Slider, slider: Used for graphical selection of values. Visually similar to the scroll bar.
  • Progress bar: Indicating the progress of an operation. Since Windows XP, there is also a version with continuous beams, which can be used if the current progress is not known (yet).
  • Status Bar: A section at the bottom of a window in which the program status or a help text can be displayed.
  • Tab, Tab. For multi-page dialog box or more documents per window Their protruding areas to choose the individual cards are also called tabs.
  • Group box: A frame with a title for the grouping of related content controls.
  • Ribbon, Ribbon: A bar that represents the union of the elements menu and toolbar, and partly also the title bar.
  • Calendar Control: A calendar tool to select dates, occasionally supplemented by a time to select a date.

In object-oriented programming languages ​​, the controls are usually referred to as classes. Some languages ​​also offer specific classes as invisible controls:

  • Timer, Timer: Triggers after certain intervals of an event.
  • Images List: Includes the images of toolbars and menus.

Properties of controls

Each control has various properties such as size, location on the screen, etc.

Programming of controls

Visual programming environments such as Visual Basic or Gambas allow easy programming of the controls.