Exercise: Experiment with the New Windows 7 Taskbar Features
In this exercise, you will experiment with the new Windows 7 taskbar features. You will extend a showcase application that demonstrates the use of the new taskbar functionality to provide a taskbar progress bar, overlay icon, custom tabbed thumbnails, jump list, and more. Most of the application’s user interface is already implemented; you will use Win32 functions and COM interfaces from the Windows SDK to fill in the missing parts to order to interact with the Windows 7 taskbar.
To begin this exercise, open the TaskbarHOL_Starter solution (under the HOL root folder) in Visual Studio.
TaskbarHOL solution structure in Visual Studio
Spend a minute or two exploring the C++ source and header files that comprise the demo application. For your convenience, ensure that the Task List tool window is visible (in the View menu, choose Task List) and in the tool window’s combo box select Comments. You will now see TODO items for each of the tasks in this exercise.
In the interests of brevity and simplicity, the demo application does not demonstrate best practices of Win32 UI development (including error handling best practices), nor does it exhibit the best design guidelines for working with the Windows 7 Taskbar. For more information, consult the Windows 7 User Experience Guidelines (Taskbar) at http://msdn.microsoft.com/en-us/library/aa511446.aspx and the Taskbar Extensions article at http://msdn.microsoft.com/en-us/library/dd378460(VS.85).aspx
Task 1—Using Taskbar Overlay Icons and Progress Bars
In this task, you will toggle an overlay icon on the application’s taskbar button when the text entered into an edit box is checked for spelling errors; you will also modify the state and value of the application’s taskbar button progress bar when items are added to a list box.
Task 2—Using Live Thumbnail Previews and Tabbed Thumbnails
In this task, you will customize live thumbnails (and previews) of the application’s window and provide the displayed thumbnail lazily (on demand); you will also display multiple taskbar buttons with thumbnails and live previews corresponding to each of the application’s tabs.
Task 3—Using Taskbar Jump Lists
In this task, you will add the functionality to support adding user tasks, custom categories, and destinations to the application’s jump list.