Codejock Forums Homepage
Forum Home Forum Home > Codejock Products > Visual C++ MFC > Toolkit Pro
  New Posts New Posts RSS Feed - Updated Office2003 themes for 9x/2000
  FAQ FAQ  Forum Search   Events   Register Register  Login Login

Updated Office2003 themes for 9x/2000

 Post Reply Post Reply
Author
Message
Ark42 View Drop Down
Senior Member
Senior Member
Avatar

Joined: 20 October 2003
Status: Offline
Points: 291
Post Options Post Options   Thanks (0) Thanks(0)   Quote Ark42 Quote  Post ReplyReply Direct Link To This Post Topic: Updated Office2003 themes for 9x/2000
    Posted: 14 May 2004 at 2:36am

class CXTPOffice2003ThemeEx : public CXTPOffice2003Theme
{
public:
    CXTPOffice2003ThemeEx(BOOL bGreyToBlue = TRUE, BOOL bYellowHighlight = FALSE);
    BOOL m_bGreyToBlue, m_bYellowHighlight;
protected:
    virtual void RefreshMetrics();
};

class CXTPDockingPaneOffice2003ThemeEx : public CXTPDockingPaneOffice2003Theme
{
public:
    CXTPDockingPaneOffice2003ThemeEx(BOOL bGreyToBlue = TRUE);
    BOOL m_bGreyToBlue;
protected:
    virtual void RefreshMetrics();
};

class CColorSetOffice2003Ex : public CXTPTabPaintManager::CColorSetOffice2003
{
public:
    CColorSetOffice2003Ex(BOOL bGreyToBlue = TRUE);
    BOOL m_bGreyToBlue;
protected:
    virtual void RefreshMetrics();
};

class CXTButtonThemeOffice2003Ex : public CXTButtonThemeOffice2003
{
public:
    CXTButtonThemeOffice2003Ex(BOOL bWordTheme = FALSE, BOOL bGreyToBlue = TRUE, BOOL bYellowHighlight = FALSE);
    BOOL m_bGreyToBlue, m_bYellowHighlight;
protected:
    virtual void RefreshMetrics();
};





//////////////////////////////////////////////////////// ////////////////////
// CXTPOffice2003ThemeEx

CXTPOffice2003ThemeEx::CXTPOffice2003ThemeEx(BOOL bGreyToBlue, BOOL bYellowHighlight)
{
    m_bGreyToBlue = bGreyToBlue;
    m_bYellowHighlight = bYellowHighlight;
    RefreshMetrics();
}

void CXTPOffice2003ThemeEx::RefreshMetrics()
{
    CXTPOffice2003Theme::RefreshMetrics();
    if( !m_bLunaTheme ) {
        CXTPColorManager *pClrMgr = XTPColorManager();
        COLORREF btn = pClrMgr->GetColor(COLOR_BTNFACE);
        if( m_bGreyToBlue && (btn == RGB(192, 192, 192) || btn == RGB(212, 208, 200)) ) {
            m_clrDockBarDark = RGB(158, 190, 245);
            m_clrDockBarLight = RGB(196, 218, 250);
            m_clrCommandBarDark = RGB(129, 169, 226);
            m_clrCommandBarLight = RGB(221, 236, 254);
            m_clrPopupDark = RGB(227, 239, 255);
            m_clrPopupLight = RGB(147, 181, 231);
            m_crlToolbarShadow = RGB(59, 97, 156);
            m_crlFloatingGripper = RGB(42, 102, 201);
            m_crlExpandNormalDark = RGB(0, 53, 145);
            m_crlExpandNormalLight = RGB(117, 166, 241);
            m_clrMenuExpandedDark = RGB(121, 161, 220);
            m_clrMenuExpandedLight = RGB(203, 221, 246);
            m_clrCircleDark = RGB(129, 169, 226);
            m_clrCircleLight = RGB(227, 239, 254);
            m_clrStatusPane = RGB(221, 221, 221);
            m_bLunaTheme = TRUE;

            m_arrColor[0] = RGB(0, 0, 0);
            m_arrColor[1] = RGB(0, 78, 152);
            m_arrColor[2] = RGB(0, 84, 227);
            m_arrColor[3] = RGB(122, 150, 223);
            m_arrColor[4] = RGB(255, 255, 255);
            m_arrColor[5] = RGB(255, 255, 255);
            m_arrColor[6] = RGB(0, 0, 0);
            m_arrColor[7] = RGB(0, 0, 0);
            m_arrColor[8] = RGB(0, 0, 0);
            m_arrColor[9] = RGB(255, 255, 255);
            m_arrColor[10] = RGB(212, 208, 200);
            m_arrColor[11] = RGB(212, 208, 200);
            m_arrColor[12] = RGB(128, 128, 128);
            m_arrColor[13] = RGB(49, 106, 197);
            m_arrColor[14] = RGB(255, 255, 255);
//            m_arrColor[15] = RGB(236, 233, 216);
            m_arrColor[15] = btn;
            m_arrColor[16] = RGB(172, 168, 153);
            m_arrColor[17] = RGB(172, 168, 153);
            m_arrColor[18] = RGB(0, 0, 0);
            m_arrColor[19] = RGB(216, 228, 248);
            m_arrColor[20] = RGB(255, 255, 255);
            m_arrColor[21] = RGB(113, 111, 100);
            m_arrColor[22] = RGB(251, 248, 231);
            m_arrColor[23] = RGB(0, 0, 0);
            m_arrColor[24] = RGB(255, 255, 225);
            m_arrColor[25] = RGB(181, 181, 181);
            m_arrColor[26] = RGB(0, 0, 128);
            m_arrColor[27] = RGB(61, 149, 255);
            m_arrColor[28] = RGB(0, 0, 0);
            m_arrColor[29] = RGB(0, 0, 0);
            m_arrColor[30] = RGB(158, 190, 245);
            m_arrColor[31] = RGB(255, 238, 194);
            m_arrColor[32] = RGB(0, 0, 128);
            m_arrColor[33] = RGB(254, 128, 62);
            m_arrColor[34] = RGB(144, 157, 178);
            m_arrColor[35] = RGB(197, 194, 184);
            m_arrColor[36] = RGB(255, 192, 111);
            m_arrColor[37] = RGB(0, 0, 128);
            m_arrColor[38] = RGB(39, 65, 118);
            m_arrColor[39] = RGB(106, 140, 203);
            m_arrColor[40] = RGB(109, 150, 208);
            m_arrColor[41] = RGB(246, 246, 246);
            m_arrColor[42] = RGB(230, 227, 210);
            m_arrColor[43] = RGB(0, 45, 150);
            m_arrColor[44] = RGB(0, 0, 0);
            m_arrColor[45] = RGB(0, 0, 0);
            m_arrColor[46] = RGB(0, 0, 0);
            m_arrColor[47] = RGB(0, 0, 0);
            m_arrColor[48] = RGB(218, 233, 255);
            m_arrColor[49] = RGB(129, 126, 114);
            m_arrColor[50] = RGB(0, 0, 128);
            m_arrColor[51] = RGB(216, 231, 252);
            m_arrColor[52] = RGB(158, 190, 245);
            m_arrColor[53] = RGB(203, 225, 252);
            m_arrColor[54] = RGB(0, 45, 150);
            m_arrColor[55] = RGB(196, 218, 250);
        } else if(m_bYellowHighlight) {
            m_arrColor[31] = RGB(255, 238, 194);
            m_arrColor[33] = RGB(254, 128, 62);
            m_arrColor[36] = RGB(255, 192, 111);
            m_bLunaTheme = TRUE;
        }
    }
}

//////////////////////////////////////////////////////// ////////////////////
// CXTPDockingPaneOffice2003ThemeEx

CXTPDockingPaneOffice2003ThemeEx::CXTPDockingPaneOffice2 003ThemeEx(BOOL bGreyToBlue)
{
    m_bGreyToBlue = bGreyToBlue;
    RefreshMetrics();
}

void CXTPDockingPaneOffice2003ThemeEx::RefreshMetrics()
{
    CXTPDockingPaneOffice2003Theme::RefreshMetrics();
    if( !m_bLunaTheme ) {
        CXTPColorManager *pClrMgr = XTPColorManager();
        COLORREF btn = pClrMgr->GetColor(COLOR_BTNFACE);
        if( m_bGreyToBlue && (btn == RGB(192, 192, 192) || btn == RGB(212, 208, 200)) ) {
            m_clrCommandBarDark = RGB(129, 169, 226);
            m_clrCommandBarLight = RGB(221, 236, 254);
            m_bLunaTheme = TRUE;

            m_arrColor[0] = RGB(0, 0, 0);
            m_arrColor[1] = RGB(0, 78, 152);
            m_arrColor[2] = RGB(0, 84, 227);
            m_arrColor[3] = RGB(122, 150, 223);
            m_arrColor[4] = RGB(255, 255, 255);
            m_arrColor[5] = RGB(255, 255, 255);
            m_arrColor[6] = RGB(0, 0, 0);
            m_arrColor[7] = RGB(0, 0, 0);
            m_arrColor[8] = RGB(0, 0, 0);
            m_arrColor[9] = RGB(255, 255, 255);
            m_arrColor[10] = RGB(212, 208, 200);
            m_arrColor[11] = RGB(212, 208, 200);
            m_arrColor[12] = RGB(128, 128, 128);
            m_arrColor[13] = RGB(49, 106, 197);
            m_arrColor[14] = RGB(255, 255, 255);
//            m_arrColor[15] = RGB(236, 233, 216);
            m_arrColor[15] = btn;
            m_arrColor[16] = RGB(172, 168, 153);
            m_arrColor[17] = RGB(172, 168, 153);
            m_arrColor[18] = RGB(0, 0, 0);
            m_arrColor[19] = RGB(216, 228, 248);
            m_arrColor[20] = RGB(255, 255, 255);
            m_arrColor[21] = RGB(113, 111, 100);
            m_arrColor[22] = RGB(251, 248, 231);
            m_arrColor[23] = RGB(0, 0, 0);
            m_arrColor[24] = RGB(255, 255, 225);
            m_arrColor[25] = RGB(181, 181, 181);
            m_arrColor[26] = RGB(0, 0, 128);
            m_arrColor[27] = RGB(61, 149, 255);
            m_arrColor[28] = RGB(0, 0, 0);
            m_arrColor[29] = RGB(0, 0, 0);
            m_arrColor[30] = RGB(158, 190, 245);
            m_arrColor[31] = RGB(255, 238, 194);
            m_arrColor[32] = RGB(0, 0, 128);
            m_arrColor[33] = RGB(254, 128, 62);
            m_arrColor[34] = RGB(144, 157, 178);
            m_arrColor[35] = RGB(197, 194, 184);
            m_arrColor[36] = RGB(255, 192, 111);
            m_arrColor[37] = RGB(0, 0, 128);
            m_arrColor[38] = RGB(39, 65, 118);
            m_arrColor[39] = RGB(106, 140, 203);
            m_arrColor[40] = RGB(109, 150, 208);
            m_arrColor[41] = RGB(246, 246, 246);
            m_arrColor[42] = RGB(230, 227, 210);
            m_arrColor[43] = RGB(0, 45, 150);
            m_arrColor[44] = RGB(0, 0, 0);
            m_arrColor[45] = RGB(0, 0, 0);
            m_arrColor[46] = RGB(0, 0, 0);
            m_arrColor[47] = RGB(0, 0, 0);
            m_arrColor[48] = RGB(218, 233, 255);
            m_arrColor[49] = RGB(129, 126, 114);
            m_arrColor[50] = RGB(0, 0, 128);
            m_arrColor[51] = RGB(216, 231, 252);
            m_arrColor[52] = RGB(158, 190, 245);
            m_arrColor[53] = RGB(203, 225, 252);
            m_arrColor[54] = RGB(0, 45, 150);
            m_arrColor[55] = RGB(196, 218, 250);
        }
    }
}

//////////////////////////////////////////////////////// ////////////////////
// CColorSetOffice2003Ex

CColorSetOffice2003Ex::CColorSetOffice2003Ex(BOOL bGreyToBlue)
{
    m_bGreyToBlue = bGreyToBlue;
//    RefreshMetrics();
}

void CColorSetOffice2003Ex::RefreshMetrics()
{
    CColorSetOffice2003::RefreshMetrics();
    if( !m_bLunaTheme ) {
        CXTPColorManager *pClrMgr = XTPColorManager();
        COLORREF btn = pClrMgr->GetColor(COLOR_BTNFACE);
        if( m_bGreyToBlue && (btn == RGB(192, 192, 192) || btn == RGB(212, 208, 200)) ) {
            m_clrHeaderFace.clrLight = RGB(196, 218, 250);
            m_clrHeaderFace.clrDark = RGB(252, 253, 254);
            m_clrAutoHideFace.clrLight = RGB(158, 190, 245);
            m_clrAutoHideFace.clrDark = RGB(196, 218, 250);
            m_clrFrameBorder = RGB(59, 97, 156);
            m_clrControlFace = RGB(236, 233, 216);
            m_clrHighlight = RGB(255, 255, 255);
            m_clrButtonSelected = RGB(255, 194, 115);
            m_clrButtonNormal = RGB(162, 192, 246);
            m_clrNormalText = RGB(0, 0, 0);
            m_clrInActiveText = RGB(0, 0, 0);
            m_clrSelectedText = RGB(0, 0, 0);
            m_clrHighlightText = RGB(0, 0, 0);
            m_clrDisabledText = RGB(172, 168, 153);
            m_clrButtonHighlighted = RGB(255, 240, 201);
            m_clrNavigateButtonBorder = RGB(0, 0, 128);
            m_bLunaTheme = TRUE;
        }
    }
}

//////////////////////////////////////////////////////// ////////////////////
// CXTButtonThemeOffice2003Ex

CXTButtonThemeOffice2003Ex::CXTButtonThemeOffice2003Ex(B OOL bWordTheme, BOOL bGreyToBlue, BOOL bYellowHighlight)
{
    m_bWordTheme = bWordTheme;
    m_bGreyToBlue = bGreyToBlue;
    m_bYellowHighlight = bYellowHighlight;
    RefreshMetrics();
}

void CXTButtonThemeOffice2003Ex::RefreshMetrics()
{
    CXTButtonThemeOffice2003::RefreshMetrics();
    if( XTPDrawHelpers()->GetCurrentSystemTheme() == xtpSystemThemeUnknown ) {
        CXTPColorManager *pClrMgr = XTPColorManager();
        COLORREF btn = pClrMgr->GetColor(COLOR_BTNFACE);
        if( m_bGreyToBlue && (btn == RGB(192, 192, 192) || btn == RGB(212, 208, 200)) ) {
            m_crBack = RGB(169, 199, 240);
            m_crText = RGB(0, 0, 0);
            m_crTextDisabled = RGB(172, 168, 153);
            m_crBorderHilite = RGB(0, 0, 128);
            m_crBorderShadow = RGB(127, 157, 185);
            m_crBorder3DHilite = RGB(255, 255, 255);
            m_crBorder3DShadow = RGB(113, 111, 100);
            m_crBackPushed = RGB(254, 128, 62);
            m_crBackHilite = RGB(255, 238, 194);
            m_crTextPushed = RGB(0, 0, 0);
            m_crTextHilite = RGB(0, 0, 0);
        } else if(m_bYellowHighlight) {
            m_crBackPushed = RGB(254, 128, 62);
            m_crBackHilite = RGB(255, 238, 194);
            m_crTextPushed = RGB(0, 0, 0);
            m_crTextHilite = RGB(0, 0, 0);
        }
    }
}





sample usages, since there is now several different 2003Ex classes to theme different things (buttons, toolbars, dockbars, dockbars tab panel):

        xtAfxData.bXPMode = TRUE;
        m_themeManager.SetTheme(xtThemeOffice2003);
        m_themeManager.SetButtonTheme(new CXTButtonThemeOffice2003Ex(TRUE));
        pCommandBars->SetPaintManager(new CXTPOffice2003ThemeEx());
        m_paneManager.SetCustomTheme(new CXTPDockingPaneOffice2003ThemeEx());
        m_paneManager.GetPaintManager()->m_pT abPaintManager->SetColorSet(new CColorSetOffice2003Ex()) ;
        m_paneManager.GetPaintManager()->m_pP anelPaintManager->SetColorSet(new CColorSetOffice2003Ex( ));


Back to Top
spike View Drop Down
Groupie
Groupie


Joined: 13 May 2003
Location: United States
Status: Offline
Points: 48
Post Options Post Options   Thanks (0) Thanks(0)   Quote spike Quote  Post ReplyReply Direct Link To This Post Posted: 14 May 2004 at 8:50am
What version is this for?
Back to Top
Ark42 View Drop Down
Senior Member
Senior Member
Avatar

Joined: 20 October 2003
Status: Offline
Points: 291
Post Options Post Options   Thanks (0) Thanks(0)   Quote Ark42 Quote  Post ReplyReply Direct Link To This Post Posted: 14 May 2004 at 11:51am

Latest, 8.70
Back to Top
Frode View Drop Down
Groupie
Groupie


Joined: 22 April 2004
Location: Norway
Status: Offline
Points: 42
Post Options Post Options   Thanks (0) Thanks(0)   Quote Frode Quote  Post ReplyReply Direct Link To This Post Posted: 24 May 2004 at 2:56am

In your sample usage code you are using a m_themeManager object - of what type is m_themeManager?

You are using:
m_themeManager.SetTheme(xtThemeOffice2003);
Should this be:
m_themeManager.SetTheme(xtpThemeOffice2003);
?

Back to Top
Frode View Drop Down
Groupie
Groupie


Joined: 22 April 2004
Location: Norway
Status: Offline
Points: 42
Post Options Post Options   Thanks (0) Thanks(0)   Quote Frode Quote  Post ReplyReply Direct Link To This Post Posted: 24 May 2004 at 3:18am

I found the type of the m_themeManager: CXTThemeManager.
I also found that your code is correct regarding the xtThemeOffice2003 value.

But, when using your sample code I am loosing the Office2003 colors and design on my MDI tabs :(
I can see that your CColorSetOffice2003Ex constructor are not calling the RefreshMetrics function - if I enable this call my application crashes... Please help...

Back to Top
Ark42 View Drop Down
Senior Member
Senior Member
Avatar

Joined: 20 October 2003
Status: Offline
Points: 291
Post Options Post Options   Thanks (0) Thanks(0)   Quote Ark42 Quote  Post ReplyReply Direct Link To This Post Posted: 24 May 2004 at 12:57pm

Dont enable that call to RefreshMetrics, its commented out for a reason.

I don't believe I provided any Office2003Ex theme for MDI tabs, so you are on your own to design that.  The CXTThemeManager is for CXTButton types, and the CColorSetOffice2003Ex is for the docking pane tab bar.

Back to Top
Frode View Drop Down
Groupie
Groupie


Joined: 22 April 2004
Location: Norway
Status: Offline
Points: 42
Post Options Post Options   Thanks (0) Thanks(0)   Quote Frode Quote  Post ReplyReply Direct Link To This Post Posted: 24 May 2004 at 3:17pm

Ok. Please let me/us know if you implement any Office2003Ex theme for the MDI tabs  Your implementations are of great value!

Hopefully Codejock will implement support for Office2003 themes for Windows 9x/2000 in their next release.

Back to Top
Ark42 View Drop Down
Senior Member
Senior Member
Avatar

Joined: 20 October 2003
Status: Offline
Points: 291
Post Options Post Options   Thanks (0) Thanks(0)   Quote Ark42 Quote  Post ReplyReply Direct Link To This Post Posted: 24 May 2004 at 3:22pm

I probably won't implement any for any parts I don't use, and I think I've implemented all I need so far.

Codejock will probably not implement Office2003Ex themes like I did since its a ton of hardcoded values that mimic the values retrieved from DLLs that only exist under XP.

Its not really that hard though, you just have to have an XP machine to get the values from, write them all out to a text file.  Use any of my examples as a base. You pretty much only need to derive a class with a tiny constructer and RefreshMetrics() that just sets all the color values and you're done.

Back to Top
Frode View Drop Down
Groupie
Groupie


Joined: 22 April 2004
Location: Norway
Status: Offline
Points: 42
Post Options Post Options   Thanks (0) Thanks(0)   Quote Frode Quote  Post ReplyReply Direct Link To This Post Posted: 08 October 2004 at 3:25am

In XTP Toolkit Pro 9.50, the CXTThemeManager constructor is private inside the CXTThemeManager class. It is no longer possible to use the following code:

MainFrm.h:
CXTThemeManager m_themeManager;

MainFrm.cpp:
m_themeManager.SetTheme(xtThemeOffice2003);
m_themeManager.SetButtonTheme(new CXTButtonThemeOffice2003Ex(TRUE));

PS: This code is used to get Office2003 theme style in Windows 2000.

Please help!

Back to Top
Frode View Drop Down
Groupie
Groupie


Joined: 22 April 2004
Location: Norway
Status: Offline
Points: 42
Post Options Post Options   Thanks (0) Thanks(0)   Quote Frode Quote  Post ReplyReply Direct Link To This Post Posted: 08 October 2004 at 6:31am

When running my application with a memory leak checker, I get the following program error detected:

Memory Leak Leaving Scope: Variable  references address 0x037E8600 (176) allocated by global_operator_new.

This error is related to the following code line in OnCreate in MainFrm.cpp:
CXTPTabPaintManager* pTabPaintManager = new CXTPTabPaintManager();
pTabPaintManager->SetColorSet(new CColorSetOffice2003Ex());

 

Back to Top
Oleg View Drop Down
Admin Group
Admin Group


Joined: 21 May 2003
Location: United States
Status: Offline
Points: 11234
Post Options Post Options   Thanks (0) Thanks(0)   Quote Oleg Quote  Post ReplyReply Direct Link To This Post Posted: 11 October 2004 at 12:15am

1. Frode, you can use global theme Manager:

 

XTThemeManager()->SetTheme(xtThemeOffice2003);

XTThemeManager()->SetButtonTheme(new CXTButtonThemeOffice2003Ex(TRUE));

2. You create new CXTPTabPaintManager, where you attach it?

Oleg, Support Team
CODEJOCK SOFTWARE SOLUTIONS
Back to Top
Frode View Drop Down
Groupie
Groupie


Joined: 22 April 2004
Location: Norway
Status: Offline
Points: 42
Post Options Post Options   Thanks (0) Thanks(0)   Quote Frode Quote  Post ReplyReply Direct Link To This Post Posted: 11 October 2004 at 3:59am

Oleg, the CXTPTabPaintManager is created and attached in OnCreate in Main Frame:

OnCreate in MainFrm.cpp:

 // Tabview:
 CXTPTabPaintManager* pTabPaintManager = new CXTPTabPaintManager();
 pTabPaintManager->SetAppearance(xtpTabAppearancePro pertyPage2003);
 pTabPaintManager->m_bOneNoteColors = TRUE;
 pTabPaintManager->m_bHotTracking = TRUE;
 pTabPaintManager->m_bShowIcons = FALSE;
 pTabPaintManager->m_bBoldSelected = TRUE;
 pTabPaintManager->DisableLunaColors(FALSE);
 pTabPaintManager->SetColorSet(new CColorSetOffice2003Ex()); // Office2003 theme in Windows 2000.

 VERIFY(m_MTIClientWnd.Attach(this));
 m_MTIClientWnd.EnableToolTips();
 m_MTIClientWnd.SetPaintManager(pTabPaintManager);
 m_MTIClientWnd.GetPaintManager()->m_bShowIcons = TRUE;
 m_MTIClientWnd.SetFlags(xtpWorkspaceHideClose);

Back to Top
Oleg View Drop Down
Admin Group
Admin Group


Joined: 21 May 2003
Location: United States
Status: Offline
Points: 11234
Post Options Post Options   Thanks (0) Thanks(0)   Quote Oleg Quote  Post ReplyReply Direct Link To This Post Posted: 12 October 2004 at 2:37am

To Frode:

I create new application using Wizard, copy your code and don't see any leaks.

 

To all:

from 9.10 you can use SetLunaTheme method to emulate blue/silver/olive themes for all Toolkit Pro components:

CMainFrame::CMainFrame()

{

XTPColorManager()->SetLunaTheme(xtpSystemThemeBlue);

}

Oleg, Support Team
CODEJOCK SOFTWARE SOLUTIONS
Back to Top
Frode View Drop Down
Groupie
Groupie


Joined: 22 April 2004
Location: Norway
Status: Offline
Points: 42
Post Options Post Options   Thanks (0) Thanks(0)   Quote Frode Quote  Post ReplyReply Direct Link To This Post Posted: 12 October 2004 at 3:12am
Oleg, does this XTPColorManager()-SetLunaTheme(xtpSystemThemeBlue) work for Windows 2000 as well as for Windows XP?
Back to Top
Frode View Drop Down
Groupie
Groupie


Joined: 22 April 2004
Location: Norway
Status: Offline
Points: 42
Post Options Post Options   Thanks (0) Thanks(0)   Quote Frode Quote  Post ReplyReply Direct Link To This Post Posted: 28 February 2005 at 5:09am

Hello.

The SetButtonTheme does not work with version 9.60 - not a member of 'CXTThemeManager'.

Updated code for version 9.60:

XTAuxData().bXPMode = TRUE;
XTThemeManager()->SetTheme(xtThemeOffice2003);
//  XTThemeManager()->SetButtonTheme(new CXTButtonThemeOffice2003Ex(TRUE));
pCommandBars->SetPaintManager(new CXTPOffice2003ThemeEx());
m_paneManager.SetCustomTheme(new CXTPDockingPaneOffice2003ThemeEx());
m_paneManager.GetPaintManager()->GetTabPaintManager()-> ;SetColorSet(new CColorSetOffice2003Ex()) ;
m_paneManager.GetPaintManager()->GetPanelPaintManager()-& gt;SetColorSet(new CColorSetOffice2003Ex());

Frode.

Back to Top
Ark42 View Drop Down
Senior Member
Senior Member
Avatar

Joined: 20 October 2003
Status: Offline
Points: 291
Post Options Post Options   Thanks (0) Thanks(0)   Quote Ark42 Quote  Post ReplyReply Direct Link To This Post Posted: 28 February 2005 at 10:45am

Um, commenting it out doesn't help anything.
The correct 'update' it to use

CXTButton::SetDefaultTheme(new CXTButtonThemeOffice2003Ex());

instead.

Back to Top
Ark42 View Drop Down
Senior Member
Senior Member
Avatar

Joined: 20 October 2003
Status: Offline
Points: 291
Post Options Post Options   Thanks (0) Thanks(0)   Quote Ark42 Quote  Post ReplyReply Direct Link To This Post Posted: 28 February 2005 at 10:47am
http://forum.codejock.com/forum_posts.asp?TID=1751&K W=2003

has newer code anyways.



Edited by Ark42
Back to Top
Frode View Drop Down
Groupie
Groupie


Joined: 22 April 2004
Location: Norway
Status: Offline
Points: 42
Post Options Post Options   Thanks (0) Thanks(0)   Quote Frode Quote  Post ReplyReply Direct Link To This Post Posted: 28 February 2005 at 3:28pm
I understand that commenting it out doesn't help anything 
Is this type of changes documented any place - what type of functions that is removed from one version to the other?

I have already included the new code from http://forum.codejock.com/forum_posts.asp?TID=1751&K W=2, but I guess I still have to use the CXTButton::SetDefaultTheme function in my main frame!?

XTAuxData().bXPMode = TRUE;
XTThemeManager()->SetTheme(xtThemeOffice2003);
CXTButton::SetDefaultTheme(new CXTButtonThemeOffice2003Ex());
pCommandBars->SetPaintManager(new CXTPOffice2003ThemeEx());
m_paneManager.SetCustomTheme(new CXTPDockingPaneOffice2003ThemeEx());
m_paneManager.GetPaintManager()->GetTabPaintManager()-> ; ;SetColorSet(new CColorSetOffice2003Ex()) ;
m_paneManager.GetPaintManager()->GetPanelPaintManager()-& amp; gt;SetColorSet(new CColorSetOffice2003Ex());

Back to Top
Ark42 View Drop Down
Senior Member
Senior Member
Avatar

Joined: 20 October 2003
Status: Offline
Points: 291
Post Options Post Options   Thanks (0) Thanks(0)   Quote Ark42 Quote  Post ReplyReply Direct Link To This Post Posted: 28 February 2005 at 3:37pm

You have to include the CXTButton::SetDefaultTheme if you want to use the 2003 theme for CXTButtons

I'm sure its documented someplace. I found the change by looking at the samples basically.

I'm not sure how much of this code is needed anymore. v9.60 has the orange caption bar for the docking panes now, and they said you can use the blue theme without having to create custom themes now I think.  The only thing you really need is the new code in the other post for the floating toolbars.

Back to Top
Kenneth View Drop Down
Senior Member
Senior Member
Avatar

Joined: 23 May 2004
Location: United States
Status: Offline
Points: 256
Post Options Post Options   Thanks (0) Thanks(0)   Quote Kenneth Quote  Post ReplyReply Direct Link To This Post Posted: 19 August 2005 at 7:13pm

Ark42

I am using your code, and it works very well.  Thank you for a great job.

I have updated to the latest toolkitpro, and now the caption bar for my docking panes on Windows Me do not have the correct color for the Office2003 theme.  I always get shades of gray.  Have you seen this?

Ken

 

 

 

Back to Top
Kenneth View Drop Down
Senior Member
Senior Member
Avatar

Joined: 23 May 2004
Location: United States
Status: Offline
Points: 256
Post Options Post Options   Thanks (0) Thanks(0)   Quote Kenneth Quote  Post ReplyReply Direct Link To This Post Posted: 20 August 2005 at 8:11pm

Ah, I see now that the SetLunaTheme() function takes care of all this now for XP, W2K and Windows 98/ME.  Thanks Oleg.

Ken

 

 

Back to Top
Frode View Drop Down
Groupie
Groupie


Joined: 22 April 2004
Location: Norway
Status: Offline
Points: 42
Post Options Post Options   Thanks (0) Thanks(0)   Quote Frode Quote  Post ReplyReply Direct Link To This Post Posted: 21 August 2005 at 8:32am
How to use the CXTPColorManager::SetLunaTheme(xtpSystemThemeBlue) function (I gor an error saying "illegal call of non-static member function")...

Is the SetLunaTheme function changing the hole Windows theme setting, or is it only changing the them for the specific application?

Frode.
Back to Top
Kenneth View Drop Down
Senior Member
Senior Member
Avatar

Joined: 23 May 2004
Location: United States
Status: Offline
Points: 256
Post Options Post Options   Thanks (0) Thanks(0)   Quote Kenneth Quote  Post ReplyReply Direct Link To This Post Posted: 21 August 2005 at 10:05am

I use:

XTPColorManager()->SetLunaTheme(xtpSystemThemeBlue);

and it only sets it for the application.

Back to Top
Frode View Drop Down
Groupie
Groupie


Joined: 22 April 2004
Location: Norway
Status: Offline
Points: 42
Post Options Post Options   Thanks (0) Thanks(0)   Quote Frode Quote  Post ReplyReply Direct Link To This Post Posted: 23 August 2005 at 5:12am
When calling XTPColorManager()->SetLunaThene(xtpSystemThemeBlue) in Windows 2000, all splitters between split windows becomes blue - this is not good. The splitters should be grey as they are in Windows XP.
Back to Top
Kenneth View Drop Down
Senior Member
Senior Member
Avatar

Joined: 23 May 2004
Location: United States
Status: Offline
Points: 256
Post Options Post Options   Thanks (0) Thanks(0)   Quote Kenneth Quote  Post ReplyReply Direct Link To This Post Posted: 23 August 2005 at 8:49am
I do see this, but only where the splitter is next to a docking pane caption.  Don't know if that is correct or not, but SetLunaTheme solves a lot of problems without having to have special theme classes for Windows 98/ME.  In addition, it looks that way on XP also.  So, my application looks exactly the same on XP, W2K, 98 and ME.
Back to Top
Frode View Drop Down
Groupie
Groupie


Joined: 22 April 2004
Location: Norway
Status: Offline
Points: 42
Post Options Post Options   Thanks (0) Thanks(0)   Quote Frode Quote  Post ReplyReply Direct Link To This Post Posted: 25 August 2005 at 2:26am
When using SetLunaTheme, my application does not look the same on Windows 2000 and Windows XP. On Windows XP, the splitters are grey, while they are ligth blue on Windows 2000 (all splitters - not only those next to a docing pane).

Another question: I have a number of contecx menus (rigth-click menus). How can I get a blue left "margin" in these context menus (as I get in the menus from the menubar) - I only get a grey shaded left "margin" in these context menus?
Back to Top
Kenneth View Drop Down
Senior Member
Senior Member
Avatar

Joined: 23 May 2004
Location: United States
Status: Offline
Points: 256
Post Options Post Options   Thanks (0) Thanks(0)   Quote Kenneth Quote  Post ReplyReply Direct Link To This Post Posted: 26 August 2005 at 1:08pm

In my application, the splitters are gray, except as I mentioned, those next to a docking pane caption are blue.  I also get the correct popup context menu, that is they look exactly as a normal menu, a shaded blue left margin with icons.  Futhermore, they look all the same on XP, 2000, and 98.

When I switch theme to olive or silver, the same holds true, with blue turning to the respective color specified in the SetLunaTheme. 

 

Back to Top
 Post Reply Post Reply
  Share Topic   

Forum Jump Forum Permissions View Drop Down

Forum Software by Web Wiz Forums® version 12.04
Copyright ©2001-2021 Web Wiz Ltd.

This page was generated in 0.172 seconds.