Figure 2   _WIN32_IE Macro Values

Value Meaning
0x0200 The application will be compatible with Comctl32.dll version 4.00 and later. The application will not be able to implement the common control features that were added after version 4.00 of Comctl32.dll.
0x0300 The application will be compatible with Comctl32.dll version 4.70 and later. The application will not be able to implement the common control features that were added after version 4.70 of Comctl32.dll.
0x0400 The application will be compatible with Comctl32.dll version 4.71 and later. The application will not be able to implement the common control features that were added after version 4.71 of Comctl32.dll.


Figure 3   Internet Explorer 4.0 Common Control Class Families

Class Flag Description
ICC_ANIMATE_CLASS Load animate control class.
ICC_BAR_CLASSES
Load toolbar, status bar, trackbar, and tooltip control classes.
ICC_COOL_CLASSES
Load rebar control class.
ICC_DATE_CLASSES
Load date and time picker control class.
ICC_HOTKEY_CLASS
Load hotkey control class.
ICC_INTERNET_CLASSES
Load IP address class.
ICC_LISTVIEW_CLASSES
Load list view and header control classes.
ICC_PAGESCROLLER_CLASS
Load pager control class.
ICC_PROGRESS_CLASS
Load progress bar control class.
ICC_TAB_CLASSES
Load tab and tooltip control classes.
ICC_TREEVIEW_CLASSES
Load tree view and tooltip control classes.
ICC_UPDOWN_CLASS
Load up-down control class.
ICC_USEREX_CLASSES
Load ComboBoxEx class.
ICC_WIN95_CLASSES
Load animate control, header, hotkey, list view, progress bar, status bar, tab, tooltip, toolbar, trackbar, tree view, and up-down control classes.


Figure 4   Internet Explorer 4.0 Common Control Classes

Class Name Description
ANIMATE_ CLASS
Creates animation controls. These controls silently display an AVI clip.
DATETIMEPICK_CLASS
Creates date and time picker controls. These controls provide a simple and intuitive interface to exchange date and time information with a user.
HOTKEY_CLASS
Creates hotkey controls. These controls make it easy for the user to define hotkeys.
MONTHCAL_CLASS
Creates month calendar controls. These controls provide a simple and intuitive way for a user to select a date from a familiar interface.
PROGRESS_CLASS
Creates progress bars. These controls indicate the progress of a lengthy operation.
REBARCLASSNAME
Creates rebar controls. These controls act as a container for child windows.
STATUSCLASSNAME
Creates status windows. These controls display status information in a horizontal window.
TOOLBARCLASSNAME
Creates toolbars. These controls contain buttons that carry out menu commands.
TOOLTIPS_CLASS
Creates tooltip controls. These controls display a small pop-up window containing a line of text that describes the purpose of a tool in an application.
TRACKBAR_CLASS
Creates trackbars. These controls let the user select from a range of values by moving a slider.
UPDOWN_CLASS
Creates up-down controls. These controls combine a pair of arrows with an edit control. Clicking the arrows increments or decrements the value in the edit control.
WC_COMBOBOXEX
Creates ComboBoxEx controls. These controls provide an extension of the combobox control that provides native support for item images.
WC_HEADER
Creates header controls. These controls display headings at the top of columns of information and let the user sort the information by clicking the headings.
WC_IPADDRESS
Creates IP address controls. These controls are similar to an edit control, but allow you to enter a numerical address in IP format.
WC_LISTVIEW
Creates list view controls. These controls display a collection of items, each consisting of an icon and a label, and provide several ways to arrange the items.
WC_PAGESCROLLER
Creates pager controls. These controls are used to contain and scroll another window.
WC_TABCONTROL
Creates tab controls. These controls define multiple pages for the same area of a window or dialog box. Each page consists of a set of information or a group of controls that an application displays when the user selects the corresponding tab.
WC_TREEVIEW
Creates tree view controls. These controls display a hierarchical list of items. Each item consists of a label and an optional bitmap.


Figure 5    New Toolbar Features

New Feature Description
Image List Support Toolbar controls can use up to three different image lists to display buttons in various states: normal, hot, and disabled.
Transparent Style Toolbar controls support a new, transparent look. With the TBSTYLE_FLAT style in place, the control displays buttons while allowing the client area under the toolbar to show through. Transparent toolbars also feature hot tracking.
Dropdown Toolbar Buttons
Toolbar controls support dropdown style buttons. Dropdown buttons have the TBSTYLE_DROPDOWN style.
Insertion Marks
Toolbar controls now support insertion marks. An insertion mark provides a visual indication where an item will be inserted (helpful for drag and drop).


Figure 8    New Status Bar Features

New Feature Description
Icon Support
Icons can now be displayed in a status bar. The SB_SETICON message is used to set the icon.
Enhanced Simple Mode Support
The SB_ISSIMPLE message has been added to determine if a status bar is in simple mode. The SB_SIMPLEMODE- CHANGE notification has been added to inform the owner that the simple mode has changed.
Background Color Support
The SB_SETBKCOLOR message has been added to allow the background color of a status bar to modified.
Tooltip Support
The status bar now supports tooltips. To enable tooltips, the SBT_TOOLTIPS style must be set when the status bar is created.


Figure 10    New Image List Features

New Feature Description
Copying Images
Copy or swap images within an image list using the ImageList_Copy function.
Duplicating Image Lists
Take an existing image list and duplicate all of its parameters and contents into a new image list using the ImageList_Duplicate function.
Dynamic Resizing of Image Lists
Modify the number of images in an image list on the fly using the ImageList_Set-ImageCount function.
Extended Drawing of Images
You now have more control over the drawing of images with the ImageList_DrawIndirect function.


Figure 11    New List View Features

New Feature Description
Columns Update
Columns now support images and dynamic ordering.
Extended List View Styles
Two new macros exist for setting the extended window styles for a list view control: ListView_SetExtendedListViewStyle and ListView_GetExtendedListViewStyle. The new extended styles are:
LVS_EX_CHECKBOXES, LVS_EX_FLATSB, LVS_EX_FULLROWSELECT, LVS_EX_GRIDLINES, LVS_EX_HEADERDRAGDROP, LVS_EX_INFOTIP, LVS_EX_ONECLICKACTIVATE, LVS_EX_REGIONAL, LVS_EX_SUBITEMIMAGES, LVS_EX_TRACKSELECT, LVS_EX_TWOCLICKACTIVATE.
List View Working Areas
Rectangular virtual areas that the list view control uses to arrange its items.
Virtual List View
A virtual list view is a list view control that has the LVS_OWNERDATA style.


Figure 13    New Tab Control Features

New Feature Description
Item States
Tab control items now support an item state to support the TCM_DESELECTALL message.
Extended Styles
Tab controls now support extended styles that allow the controls to have enhanced capabilities: TCS_EX_FLATSEPARATORS, TCS_EX_REGISTERDROP.
Structures Renamed
All structures used with tab controls have been renamed to conform with current naming conventions, while maintaining backward compatibility.


Figure 14    New Tree View Features

New Feature Description
Tooltips
Tree view controls now automatically display tooltips when an item is not entirely within the view area.
New Item State
Tree view controls now support a new item state for parent items, TVIS_EXPANDPARTIAL. When a parent item is set to this state, the child items are displayed and the parent's plus sign remains visible.
Single-Click Expansion
The TVS_SINGLEEXPAND style causes a tree view item to be expanded when it becomes selected and to be closed when it becomes unselected.
Adjustable Maximum
The TVM_SETSCROLLTIME message
Scroll Time
allows you to set the maximum amount of time that a scroll operation can take.
Adjustable Borders
The TVM_SETBORDER message allows you to specify a border that will be displayed around the items in the tree view. This message allows you to specify separate x and y borders.


Figure 17    New Progress Bar Features

New Feature Description
New Progress Bar Control Styles
Progress bar controls can now display progress information vertically, using the PBS_VERTICAL style. Also, a smooth progress mode is supported using the PBS_SMOOTH style (instead of segmented).
Extended Range Values
Progress bar controls now support 32-bit range values. To set range values in excess of 65,535, use the PBM_SETRANGE32 message.


Figure 18    New Property Sheet Features

New Feature Description
New Notification
The PSN_GETOBJECT notification has been added to allow a page to be an OLE drop target.
Updated Structures
The PROPSHEETHEADER and PROPSHEETPAGE structures have been updated to support new features. See the references for these structures for more information.


Figure 19   New Header Control Features

New Feature Description
Image Lists
New messages for this feature include HDM_GETIMAGELIST and HDM_SETIMAGELIST.
Callback Items
Currently, callback support includes header item text and images.
Custom Item Ordering
The new messages that support this feature are: HDM_GETORDERARRAY, HDM_SETORDERARRAY, and HDM_ORDERTOINDEX.
Drag and Drop
Drag and drop reordering of header Manipulation items is now available. Implement drag and drop support by including the HDS_DRAGDROP style when creating the control.
Hot Tracking
When this feature is enabled, the item that is under the pointer will be highlighted. To enable hot-tracking in a header control, create it with the HDS_HOTTRACK style.
Text, Bitmaps, and Images
Items can simultaneously display item text, a bitmap, and an image.


Figure 20   New Trackbar Control Features

New Feature Description
Buddy Windows
Trackbar controls now provide support for up to two buddy windows. Trackbar buddy windows are automatically positioned by the control to appear centered at the ends of the trackbar control.
Tooltips
Trackbar controls now support tooltips. A trackbar creates a default tooltip control when created with the TBS_TOOLTIPS style.


Figure 21   New MFC Control Classes

Class Description
CDateTimeCtrl Allows the user to choose a specific date or time value.
CComboBoxEx
A combobox control with the ability to display images.
CMonthCalCtrl
Control that displays date information.
CIPAddressCtrl
Control for entering an IP address.
CRebarCtrl
Toolbar that can contain additional child windows in the form of controls.