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
|
|