Controls (MFC)

Controls are objects that users can interact with to enter or manipulate data. They commonly appear in dialog boxes or on toolbars. This topic family covers three main kinds of controls:

  • Windows common controls, including owner-drawn controls

  • ActiveX Controls

  • Other control classes supplied by the Microsoft Foundation Class Library (MFC)

Windows Common Controls

The Windows operating system has always provided a number of Windows common controls. These control objects are programmable, and the Visual C++ dialog editor supports adding them to your dialog boxes. The Microsoft Foundation Class Library (MFC) supplies classes that encapsulate each of these controls, as shown in the table Windows Common Controls and MFC Classes. (Some items in the table have related topics that describe them further. For controls that lack topics, see the documentation for the MFC class.)

Class CWnd is the base class of all window classes, including all of the control classes.

ActiveX Controls

ActiveX controls, formerly known as OLE controls, can be used in dialog boxes in your applications for Windows, or in HTML pages on the World Wide Web. For more information, see MFC ActiveX Controls.

Other MFC Control Classes

In addition to classes that encapsulate all of the Windows common controls and that support programming your own ActiveX controls (or using ActiveX controls supplied by others), MFC supplies the following control classes of its own:

Finding Information About Windows Common Controls

The table below briefly describes each of the Windows common controls, including the control's MFC wrapper class.

Windows Common Controls and MFC Classes

Control MFC class Description New in Windows 95
animation CAnimateCtrl Displays successive frames of an AVI video clip Yes
button CButton Pushbuttons that cause an action; also used for check boxes, radio buttons, and group boxes No
combo box CComboBox Combination of an edit box and a list box No
date and time picker CDateTimeCtrl Allows the user to choose a specific date or time value Yes
edit box CEdit Boxes for entering text No
extended combo box CComboBoxEx A combo box control with the ability to display images Yes
header CHeaderCtrl Button that appears above a column of text; controls width of text displayed Yes
hotkey CHotKeyCtrl Window that enables user to create a "hot key" to perform an action quickly Yes
image list CImageList Collection of images used to manage large sets of icons or bitmaps (image list isn't really a control; it supports lists used by other controls) Yes
list CListCtrl Window that displays a list of text with icons Yes
list box CListBox Box that contains a list of strings No
month calendar CMonthCalCtrl Control that displays date information Yes
progress CProgressCtrl Window that indicates progress of a long operation Yes
rebar CRebarCtrl Tool bar that can contain additional child windows in the form of controls Yes
rich edit CRichEditCtrl Window in which user can edit with character and paragraph formatting (see Classes Related to Rich Edit Controls) Yes
scroll bar CScrollBar Scroll bar used as a control inside a dialog box (not on a window) No
slider CSliderCtrl Window containing a slider control with optional tick marks Yes
spin button CSpinButtonCtrl Pair of arrow buttons user can click to increment or decrement a value Yes
static-text CStatic Text for labeling other controls No
status bar CStatusBarCtrl Window for displaying status information, similar to MFC class CStatusBar Yes
tab CTabCtrl Analogous to the dividers in a notebook; used in "tab dialog boxes" or property sheets Yes
toolbar CToolBarCtrl Window with command-generating buttons, similar to MFC class CToolBar Yes
tool tip CToolTipCtrl Small pop-up window that describes purpose of a toolbar button or other tool Yes
tree CTreeCtrl Window that displays a hierarchical list of items Yes

What do you want to know more about

For information about Windows common controls in the Windows SDK, see Common Controls.

See also

User Interface Elements
Dialog Editor