Geoff Chappell - Software Analyst
INTRODUCTION IN OCCASIONAL PROGRESS: There always seem to be more interesting things to do than write introductions.
Windows programmers know of the Common Controls library (COMCTL32.DLL) as the provider of the more interesting window controls. While USER32.DLL sees to the basic functionality of user input through plain, boring buttons, edit boxes and even combo boxes, COMCTL32 delivers progress bars and elaborate constructions such as tree views and property sheets. Thus, through all the history of 32-bit Windows programming, and even before, the common controls have been the ones that do the most to lend an application the appearance of being professionally written or at least of being up-to-date with its gadgetry.
Use of the Common Controls library can even make a program seem ahead of its time. The “cool bar” that gave Internet Explorer 3.0 so distinctive an appearance when run on Windows 95 was provided by having Internet Explorer install an updated COMCTL32. Programmers of other Windows applications could deliver that same improved look-and-feel by coding for the new COMCTL32 features and persuading their customers to install Internet Explorer, for free, instead of waiting for them to upgrade Windows, at a price.
At the time, Microsoft was not overt about leveraging improvements to Windows as a mechanism for establishing Internet Explorer, but neither did Microsoft keep it much of a secret. See for instance the article Previewing the New and Improved Common Controls DLL for Microsoft IE 4.0 by Strohm Armstrong in the October and November 1996 issues of Microsoft Systems Journal:
To run the samples, you will need to have the COMCTL32.DLL that ships with Microsoft Internet Explorer 3.0, beta 2 or greater, installed on your system. (Confused? Here's the skinny: even though these new common controls are not officially released and distributable, they are included with IE 3.0. For now, you have to install IE 3.0 to get them—Ed.)
That programmers will seek new Windows functionality by looking to Internet Explorer is shown in the September issue’s Under the Hood by Matt Pietrek:
For starters, the TreeView control offers no searching capabilities (not even in the new TreeView from the new Common Controls DLL, which ships with Microsoft Internet Explorer 3.0).
The Common Controls DLL also implements what we may as well describe as common functions. These have no essential relationship with the common controls, but they are common in much the same sense as the common controls. The one copy of the code, in COMCTL32.DLL, can serve many executables that would otherwise each have to carry their own code for doing essentially the same work.