About a week ago, Shu updated his OneNote Favorites addin to support themed controls. In short, themed controls display in a more "modern" fashion than unthemed controls, but work the same. If you think back to Windows 95, you can see unthemed controls – they have nice, square edges. Here’s a reminder:
Now compare to themed controls:
Nice, rounded edges, the 3D effect is easier to see, the frame is a bit larger, and so on. While this seems like a minor change, there are cases in which this is a tremendous amount of work to implement. Case in point: form regions in Outlook 2007. I was one of the testers on this feature, and it kept me very busy for the entire cycle.
For those of you that have never written Outlook form addins, until Outlook 2003 you had to use a technology called Forms Cubed (Forms^3). As far as the UI goes, this meant you could only have unthemed controls. They were all that existed back in the 90s when Forms^3 was created. When Outlook 2003 updated its native items to be themed, developers immediately saw their addins could not look like the native form. Imagine having an Outook contact with themed controls on the first page, but any page you added had to have the old square controls. We decided to update the UI (among other forms related work) for Outlook 2007 and developed "Form Regions." Form Regions allow themed controls among many other changes.
The testing seemed pretty easy – just drop some new controls on the new form surface and verify they have rounded edges. Admittedly, just looking at the screen to verify the controls were displaying properly was easy. Testing the underlying functionality was time consuming, though. Each property, method and event on the original "square" command button had to be verified against the behavior of the themed command button. Repeat for comboboxes, list boxes, the page control (new for Outlook 2007), etc… Fortunately, since the controls were tested already, Shu did not have to retest much to update to the themed controls, and now the addin looks better on Windows XP and Vista (if you enable theming, which I do not).
Tip: Windows 2003 also supports theming, but it is disabled by default. Start the theming service and you can get your desktop to look like XP.
This tip exposes another column to add to the ol’ test matrix: test running with the theming service OFF and ON. Toggle it on while the UI is displayed. Toggle it off. Verify in all cases the UI draws with themed or unthemed controls, respectively. Next up – changing the desktop theme to themed/unthemed. And so on.
On a separate note, Jeff Cardon updated his template manager addin to fix a crashing bug with bullets in Outline Elements. Thanks to Daryl for narrowing the reproducible steps! You can get the updated version at http://blogs.msdn.com/johnguin/archive/2007/12/13/template-manager-powertoy-for-onenote-2007.aspx. Thanks also to Jeff for getting this fix checked in.
Questions, concerns, comments and criticism always welcome,