Predefined Controls

The system provides several predefined window classes for controls. Controls belonging to these window classes are called predefined controls. An application creates a predefined control of a particular type by specifying the appropriate window class name in either the CreateWindowEx function or the dialog box template. The following are the predefined window classes.

Name Description
BUTTON Creates button controls. These controls typically notify the parent window when the user chooses the control. For more information, see Buttons.
COMBOBOX Creates combo boxes. These controls are a combination of list boxes and edit controls, letting the user choose and edit items. For more information, see Combo Boxes.
EDIT Creates edit controls. These controls let the user view and edit text. For more information, see Edit Controls.
LISTBOX Creates list boxes. These controls display a list from which the user can select one or more items. For more information, see List Boxes.
RichEdit Creates Rich Edit version 1.0 controls. These controls let the user view and edit text with character and paragraph formatting, and can include embedded COM objects. For more information, see Rich Edit Controls.
RICHEDIT_CLASS Creates Rich Edit version 2.0 controls. These controls let the user view and edit text with character and paragraph formatting, and can include embedded COM objects. For more information, see Rich Edit Controls.
SCROLLBAR Creates scroll bar controls. These controls let the user choose the direction and distance to scroll information in a related window. For more information, see Scroll Bars.
STATIC Creates static controls. These controls often act as labels for other controls. For more information, see Static Controls.

Each predefined window class has a corresponding set of control styles that enable an application to vary the appearance and behavior of the controls it creates. For example, the BUTTON class supports styles to create push buttons, radio buttons, check boxes, and group boxes. An application specifies the style when creating the control.

Each predefined window class has a corresponding set of notification and control messages. Applications rely on the notification messages to determine when the user has provided input to the controls. For example, a push button sends a BN_CLICKED message to the parent window when the user clicks the button. Applications use the control messages to retrieve information from the controls and to manipulate the appearance and behavior of the controls. For example, an application can send a BM_GETCHECK message to a check box to determine whether it currently contains a check mark.

Most applications make extensive use of predefined controls in dialog boxes and other windows. Because predefined controls offer many capabilities, a full discussion of each is beyond the scope of this topic.