This article is about exploring the ability to create custom controls in the .NET platform, that make use of Windows XP's visual styles and themes. To that end, I have included a couple of fairly simple controls that mimic some of the behaviors that Windows Explorer implements in XP.
|
/////////////////////////////////////////////////////////////////////////////////
// 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
//
#include "StdAfx.h"
#include ".\windowtheme.h"
#using <mscorlib.dll>
using namespace System;
using namespace System::Windows::Forms::Themes;
WindowTheme::WindowTheme( int propTableIndex ) : ThemeItem( propTableIndex )
{
m_UxTheme = UxTheme::OpenTheme( NULL, get_Name() );
MASSERT( m_UxTheme != NULL );
m_Parts = new PartsCollection( propTableIndex, this );
m_States = new StatesCollection( propTableIndex, get_Name(), this );
}
WindowTheme::~WindowTheme(void)
{
}
String* WindowTheme::get_Name()
{
// the name of a window theme is the record name without the PARTS part
String* name = ThemeItem::get_Name();
int index = name->LastIndexOf( "PARTS" );
MASSERT( index > -1 );
return name->Substring( 0, index );
}
|
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.
The first computer program I ever wrote was in BASIC on a TRS-80 Model I and it looked something like:
10 PRINT "Don is cool"
20 GOTO 10
It only went downhill from there.
Hey look, I've got a blog