Almost a year ago I was looking on new Vista features to estimate amount of changes to an existing MFC application required to add support for this features. One of these features is new Aero-style wizards that replace Wizard97 on Windows Vista. I have built a small demo that I have used for building a user experience document during Orcas feature planning. I have been sending my demo internally as people ask for it. However I thought I would add some finishing touches, comments before posting the demo on my blog. Months later I still have not found time to finish it. If I have found time to finish it so far, this usually means that I am not going to find anytime soon. But because I am often asked this question by external folks, I think it is time for me to share my demo in a form it is now.
In the attached zip file, one may find simple MFC wizard that looks like Aero Wizard on Windows Vista. Most of code is wizard generated. I intentionally stripped out any code not important for this demo. I built and run demo using VS2005 and Windows SDK for Windows Vista Beta 2 on Vista Beta 2 (build 5384). It seems to work just fine. To build it you need to make sure that WinSDK folders are on INCLUDE and LIB path. I change this in VS2005 in Tools->Options-> Projects and Solutions->Visual C++ Directories. Remember to put WinSDK folders for headers (C:\Program Files\Microsoft SDKs\Windows\v1.0\Include) and libraries (C:\Program Files\Microsoft SDKs\Windows\v1.0\Lib) before $(VCInstallDir)PlatformSDK\include and $(VCInstallDir)PlatformSDK\Lib.
An interesting find I would like to point out. Aero Wizards do not create window for Next and Back buttons. So if you have a code that relies on detecting these buttons, it is not going to work. There is a workaround to this issue, which I do not remember at this point. If I came across it, I will post it. I think you should be able to do this using GetWindowLong(), but I do not have code that shows this.
Have fun with the demo. Please remember that as always, this sample is are provided “AS IS” with no warranties, and confer no rights.