Introduction
This article presents a full implementation of the Windows XP Explorer Bar as a set
of Win32 controls and a MFC wrapper. The Explorer Bar works on Windows 98/Me/2k/XP and
is fully shellstyle.dll aware, i.e. can be used with any XP visual theme (standard,
3rd party non-standard, and the classic Windows scheme).
The new custom controls include extended button controls, extended static controls,
tasklink controls, and collapsible header controls.
Background
The Windows Explorer that comes with Windows XP introduces a fancy new control bar
called "Explorer Bar". The bar handles one or more collapsible panes containing tasklinks
or informative text and having a collapsible header control.
The Explorer Bar is neither exported by any API nor uses it the standard XP theme renderer. All
bitmaps and metrics reside in specialized DLLs named "shellstyle.dll".
The implementation presented here has a full parser for this non-standard information and a highly
sophisticated rendering engine allowing fade and roll effects to be applied to expanding/collapsing
panes.
Using the code
The zip archive contains a Platform SDK like HTMLHelp file (explorerbar.chm) with the full documentation (Win32/MFC).
You must build all configurations of explorerbar.dsw before using the library. If you are interested in
the sample application, then build ExpBarSample.dsw as well.
After building all configurations of explorerbar.dsw you find the library in "explorerbar\lib"
and the MFC wrapper in "explorerbar\lib\MFC".
General comments, points of interest
Approx. 18.000 lines of code needed to be written in order to support all functionalities of the
Windows XP Explorer Bar, i.e. expect bug-fixes!
Even if the Explorer Bar will be exported in the future by an API, it will not work
under Windows 98/Me/2k because it will probably use a new XP theme renderer tightly linked to Windows XP.
One big TODO item is a pure MFC version of the Explorer Bar. This would simplify the message handling
stated in the Explorer Bar SDK (HTMLHelp). The current implementation (explorerbar.dll) has been written for Win32 applications for maximum
platform support.
History
Version 1.0 is the first published version of the Explorer Bar. It is embedded in the great
sizeable control bar by Cristi Posea.