Assimilating some of the better bits from the Vista User Interface
Friday 23rd March, 2007
(or: Replacing Message Boxes with Task Dialogs, and other related improvements)
When we first ran Visual Lint on Vista RC1 we were struck by the potential which some of the user interface features of the new OS (notably Task Dialogs, the new style File Dialogs and some aspects of Aero Wizards offered to improve the "look and feel" of our product. At that time of course we had more pressing things to worry about (namely the release of Visual Lint 1.5 and with it Visual Lint Professional Edition) so unfortunately any work in this area had to wait.
However, once the release of Visual Lint Professional Edition was complete we were able to take a step back and look at these issues in more depth. Over the past three months (and alongside the integration of support for eMbedded Visual C++ 4.0) we have been conducting a design study to determine what we could realistically achieve using the Vista APIs in the short term.
The results were pretty straightforward:
-
Using the
TaskDialog
API to replace the most commonly encounteredMessageBox
prompts within Visual Lint had the potential to make the product significantly easier to use for very little effort. The availability of a free library which allows Task Dialogs to be used on previous operating systems makes this one a complete no-brainer (we've improved the look and feel of it a bit, incidentally). -
File Dialogs in Vista look significantly different, but the new APIs are not downlevel compatible, and there is no wrapper that we could find. Fortunately, we don't do anything complex in these dialogs (no fancy customisation, for example) so just changing from
WTL::CFileDialog
to the raw Win32 SDK calls was enough to do the trick as Vista only reverts to the old style file dialogs if a hook procedure is specified - as both MFC and WTL do - and using thevraw SDK calls ensures this doesn't inadvertently happen. -
Although Aero Wizards are a step forward in some ways, they do introduce at least one big annoyance (the placement and appearance of the "Back" button) so adopting it would not necessarily be a wise move for us at this time. As a result, we've decided to defer work in this area until we have time to conduct a thorough review of the Configuration Wizard - a task we hope to include in Visual Lint 2.0.
-
The default system font has changed from Tahoma 8 point to Segoe UI 11 point. Unlike the transition from Windows NT to Windows 2000, simply selecting "Use System Font" in the dialog template doesn't work, as the fonts have different metrics, so this time a more direct approach is required. We've dealt with this by writing a mix-in class which sets the fonts dynamically from the system font. The results can be seen in the Manual Analysis Dialog, Registration Key Dialog and About Box, all of which have had a Vista inspired makeover.
The results can be plainly seen in these screenshots of the latest Visual Lint build, which we will be publicly releasing shortly:
Of course, there is always plenty more to do; we're only really just getting started with this. As ever the phrase "watch this space" applies.