Click here to Skip to main content
15,897,273 members
Articles / Desktop Programming / Win32

A Managed C++ Wrapper Around the Windows XP Theme API - Part 2

Rate me:
Please Sign up or sign in to vote.
4.83/5 (16 votes)
24 Apr 2008CPOL3 min read 72.1K   1K   27  
This is an update to Don Kackman's UxTheme component originally written for Visual Studio 2003
Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ManagedThemeExplorer", "ManagedThemeExplorer\ManagedThemeExplorer.csproj", "{E72E8942-473A-4877-84F3-AF46D0C04902}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UxThemeTool", "UxThemeTool\UxThemeTool.vcproj", "{72E759E7-B12C-43F3-A7A7-DAA7BA0C2093}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|Any CPU = Debug|Any CPU
		Debug|Mixed Platforms = Debug|Mixed Platforms
		Debug|Win32 = Debug|Win32
		Release|Any CPU = Release|Any CPU
		Release|Mixed Platforms = Release|Mixed Platforms
		Release|Win32 = Release|Win32
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{E72E8942-473A-4877-84F3-AF46D0C04902}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{E72E8942-473A-4877-84F3-AF46D0C04902}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{E72E8942-473A-4877-84F3-AF46D0C04902}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
		{E72E8942-473A-4877-84F3-AF46D0C04902}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
		{E72E8942-473A-4877-84F3-AF46D0C04902}.Debug|Win32.ActiveCfg = Debug|Any CPU
		{E72E8942-473A-4877-84F3-AF46D0C04902}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{E72E8942-473A-4877-84F3-AF46D0C04902}.Release|Any CPU.Build.0 = Release|Any CPU
		{E72E8942-473A-4877-84F3-AF46D0C04902}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
		{E72E8942-473A-4877-84F3-AF46D0C04902}.Release|Mixed Platforms.Build.0 = Release|Any CPU
		{E72E8942-473A-4877-84F3-AF46D0C04902}.Release|Win32.ActiveCfg = Release|Any CPU
		{72E759E7-B12C-43F3-A7A7-DAA7BA0C2093}.Debug|Any CPU.ActiveCfg = Debug|Win32
		{72E759E7-B12C-43F3-A7A7-DAA7BA0C2093}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
		{72E759E7-B12C-43F3-A7A7-DAA7BA0C2093}.Debug|Mixed Platforms.Build.0 = Debug|Win32
		{72E759E7-B12C-43F3-A7A7-DAA7BA0C2093}.Debug|Win32.ActiveCfg = Debug|Win32
		{72E759E7-B12C-43F3-A7A7-DAA7BA0C2093}.Debug|Win32.Build.0 = Debug|Win32
		{72E759E7-B12C-43F3-A7A7-DAA7BA0C2093}.Release|Any CPU.ActiveCfg = Release|Win32
		{72E759E7-B12C-43F3-A7A7-DAA7BA0C2093}.Release|Mixed Platforms.ActiveCfg = Release|Win32
		{72E759E7-B12C-43F3-A7A7-DAA7BA0C2093}.Release|Mixed Platforms.Build.0 = Release|Win32
		{72E759E7-B12C-43F3-A7A7-DAA7BA0C2093}.Release|Win32.ActiveCfg = Release|Win32
		{72E759E7-B12C-43F3-A7A7-DAA7BA0C2093}.Release|Win32.Build.0 = Release|Win32
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
EndGlobal

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Business Analyst Southwest Research Institute
United States United States
I am a C++ coder. I am also proficient with Oracle PL/SQL. A lot of folks dislike Oracle, but I find Oracle is a significant revenue enhancer. Customers pay for first rate Oracle programming skills.

I have extensive experience with COM+, COM, ATL, WTL and installation package development. I've developed several packages in C#, but I prefer managed/native C++. I've been coding for nearly thirty plus years, getting my start with atomic and molecular orbital calculations in FORTRAN. I've been working with C or C++ since the days of QuickC, Desmet C, Datalight C and MSC 5.1.

One of my pet peeves in life is a programmer's lack of attention to the details of error handling. Most example code I see on the internet lacks depth. No use of Window's Event Logging and a lack of understanding as to how to handle exceptions. If folks actually think about how to properly debug and test, there would be fewer "slop" articles and a lot higher quality.

Including instrumentation in your software to allow proper diagnosis of failures is far more important to a user than the latest Gee-Whiz-Bang visual effects. Graphical gotta-haves fade like the lettuce in a refrigerator, but solid programs just keep on running, no matter what environment they are placed in.

My Web Site, Blog & Wiki

Comments and Discussions