|
/////////////////////////////////////////////////////////////////////////////////
// Copyright (C) 2003 - Don Kackman
//
// Distribute and change freely, but please don't remove my name from the source
//
// No warrantee of any kind, express or implied, is included with this
// software; use at your own risk, responsibility for damages (if any) to
// anyone resulting from the use of this software rests entirely with the
// user.
//
// The class CVisualStylesXp and the conept of theme browser app are borrowed from
// David Y Zhao. His example can be seen at http://www.codeproject.com/w2k/xpvisualstyle.asp
//
// questions - contact me at dkackman_2000@yahoo.com
//
#pragma once
#using <mscorlib.dll>
#include "UxTheme.h"
using namespace UxThemeTool;
namespace UxThemeTool
{
/// <summary>
/// The interface <c>IHasThemePartId</c> provides the method interfaces
/// for returning Part IDs and the theme for the Part IDs.
/// </summary>
/// <remarks>
/// Window classes and window parts have states.
/// This interface is implemented by both CWindowTheme and CThemePart
/// and is used by the ThemePartStates class so it can get the correct
/// ID values to pass to CUxTheme.
/// </remarks>
interface class IHasThemePartId
{
/// <summary>The property <c>ThemePartId</c> returns the PartID to the caller. Read-only.</summary>
/// <remarks>
/// The returned integer is passed to CUxTheme to return the correct
/// theme parts.
/// </remarks>
property int ThemePartId
{
int get() abstract;
}
/// <summary>
/// The property <c>CUxTheme</c> returns the theme parts to the caller
/// as properties and method calls. Read-only.
/// </summary>
property UxThemeTool::CUxTheme^ UxTheme
{
UxThemeTool::CUxTheme^ get() abstract;
}
};
}
|
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.
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