Print Page | Close Window

xtpPaneThemeNativeWinXP

Printed From: Codejock Forums
Category: Codejock Products
Forum Name: Docking Pane
Forum Description: Topics Related to Codejock Docking Pane
URL: http://forum.codejock.com/forum_posts.asp?TID=1915
Printed Date: 23 November 2024 at 10:32am
Software Version: Web Wiz Forums 12.04 - http://www.webwizforums.com


Topic: xtpPaneThemeNativeWinXP
Posted By: Ark42
Subject: xtpPaneThemeNativeWinXP
Date Posted: 05 March 2005 at 12:20am

The pushpins seem reversed (pushed when pane hidden, not pushed when pane docked/shown normally)

With the Olive XP theme, the non-focused pane's close button is blue, not green.




Replies:
Posted By: Oleg
Date Posted: 10 March 2005 at 10:38am

1. ...

2. We just call Theme routines to draw buttons... Strange.

people, do you have same problem?   I see it normal. WinXP sp2.

 

 

 



-------------
Oleg, Support Team
CODEJOCK SOFTWARE SOLUTIONS


Posted By: Ark42
Date Posted: 10 March 2005 at 11:17am

This is what I see, with WinXP (no SP, clean install)



The first pane is floating, and rolled up, the second pane is docked and has focus as well.
I suppose it could be a WinXP bug then.



Posted By: Ark42
Date Posted: 10 March 2005 at 11:35am

Ok, the Olive theme problem is fixed in WinXP SP2 (didn't test SP1)
Here is from a WinXP SP2 box with the Microsoft Media Center Royale theme:



The pushpin graphics still seem reversed to me.



Posted By: JamesH
Date Posted: 10 March 2005 at 11:39am
I see the same thing, and have sp2 installed.  I just assumed it was a idiosyncrasy of the theme...


Posted By: Ark42
Date Posted: 10 March 2005 at 11:42am
JamesH - what same thing do you see? The pushpins, or the non-focused close button on the olive theme?  The olive theme problem I show as fixed on WinXP Home SP2, but only showed up on WinXP Pro (no SP).



Posted By: JamesH
Date Posted: 10 March 2005 at 12:49pm
Sorry, I should have specified I meant the pushpin....


Posted By: Ark42
Date Posted: 10 March 2005 at 1:51pm
I made some changes in CXTPDockingPaneNativeXPTheme::DrawCaptionButton as follows:

        if (pButton->GetID() == XTP_IDS_DOCKINGPANE_CLOSE)
        {
//            int nState = bActive? pButton->IsPressed()? EBHC_PRESSED: EBHC_HOT: EBHC_NORMAL;
            int nState = pButton->IsPressed()? EBHC_PRESSED: bActive || pButton->IsSelected()? EBHC_HOT: EBHC_NORMAL;
            m_themeExplorer.DrawThemeBackground(*pDC, EBP_HEADERCLOSE, nState, pButton->GetRect(), 0);
        }
        else
        {
//            int nState = bActive? pButton->IsPressed()? EBHP_PRESSED: pButton->IsSelected()? EBHP_HOT: EBHP_NORMAL: EBHP_NORMAL;
//            m_themeExplorer.DrawThemeBackground(*pDC, EBP_HEADERPIN, (pButton->GetState() & xtpPanePinPushed? 3: 0) + nState, pButton->GetRect(), 0);
            int nState = pButton->IsPressed()? EBHP_PRESSED: pButton->IsSelected()? EBHP_HOT: EBHP_NORMAL;
            m_themeExplorer.DrawThemeBackground(*pDC, EBP_HEADERPIN, (pButton->GetState() & xtpPanePinPushed? 0: 3) + nState, pButton->GetRect(), 0);
        }


For the close button, I don't think it should have to have focus to show the mouse-down effect when you are closing a non-focused pane.  I also added showing the Hot state when you hover over a non-focused pane, which is better than nothing, since the XP theme manger only has 3 states (normal, hot, pressed).  Microsoft should have put in 4 states (inactive, active, hot, pressed) like the main application's close button has.

For the pushpin button, again I don't think it should have to have focus to show the mouse-down effect, or the hover effect either. I also then reversed the effect of xtpPanePinPushed to use the "SELECTED" states when the pin is *not* pushed instead. It seems to draw properly that way I think.



Posted By: Oleg
Date Posted: 11 March 2005 at 2:37am
We reversed it too. Thank you.

-------------
Oleg, Support Team
CODEJOCK SOFTWARE SOLUTIONS



Print Page | Close Window

Forum Software by Web Wiz Forums® version 12.04 - http://www.webwizforums.com
Copyright ©2001-2021 Web Wiz Ltd. - https://www.webwiz.net