In the article "Extend the Windows 95 Shell with Application Desktop Toolbars" (published in the MSDN [Library]), the author describes the Windows 95 taskbar as consisting of three basic elements: a (well-known) start button, a notification window (which contains, for example, the clock), and a so-called "SysTabControl32 common control." This control seems to manage the various running programs as intelligent, automatically resizing buttons with small icons, and so forth.
So: Is it possible to use this control in self-made "taskbars"? Is there any API documentation available? (It is called a "common control," that's why I think there must be a way. . . .)
Mirko Holzer
Pardon me while I take a deep breath:
A SysTabControl32 is simply a tab control, a.k.a. the WC_TABCONTROL. You are probably thinking that the good doctor is mistaken because you think that tabs don't look like buttons. Well, we've fooled you again! You can make a tab look just like a button by giving it the TCS_BUTTONS style. Yes, you can use a tab control in your application (and you can call it either a SysTabControl32 or a WC_TABCONTROL, but it's better to use the WC_TABCONTROL define). Just specify the WC_TABCONTROL window class in your call to CreateWindow or CreateWindowEx. Be sure to call InitCommonControls or InitCommonControlsEx first to ensure that the tab common control has been loaded before trying to use it. A little offering to your favorite deity won't hurt, either.
To include tabs in a window, the application must also fill out the TC_ITEM or TC_ITEMHEADER structure. These two structures specify the attributes of the tabs. TC_ITEM and TC_ITEMHEADER are nearly identical, except that TC_ITEMHEADER lets you specify extra application-specific data. To do this, the application should first define its own structure, consisting of the TC_ITEMHEADER structure followed by application-defined data, and then set the total number of bytes per tab using the TCM_SETITEMEXTRA message.
Check out the Win32 SDK for more information on tab controls, or the excellent Microsoft Press book on the Windows 95 UI, Programming the Windows 95 User Interface.