![]() |
Problem skinning CFileDialog |
Post Reply ![]() |
Author | |
Marco1 ![]() Senior Member ![]() Joined: 16 January 2004 Location: Germany Status: Offline Points: 251 |
![]() ![]() ![]() ![]() ![]() Posted: 27 July 2010 at 7:20pm |
My application is skinned with blue Office2007 theme. No problem so far.
When a CFileDialog (Vista style) opens, it is skinned like every other dialog. But there seems to be a skinning problem with the navigation bar, it's just black: ![]() Now, if I disable new dialog skinning via: XTPSkinManager()->SetAutoApplyNewWindows(FALSE); before calling dlgFile.DoModal(), I get this: ![]() The resize gripper down right is still skinned. Tested under Windows 7 with MfC 13.4.0 Can someone give me an advice why both is happening? |
|
![]() |
|
Ark42 ![]() Senior Member ![]() ![]() Joined: 20 October 2003 Status: Offline Points: 291 |
![]() ![]() ![]() ![]() ![]() |
I see the exact same issue. Also if you click the arrow next to the button that changes the view, you get this funny looking popup that is half skinned. ![]() |
|
![]() |
|
Ark42 ![]() Senior Member ![]() ![]() Joined: 20 October 2003 Status: Offline Points: 291 |
![]() ![]() ![]() ![]() ![]() |
I submitted an issue about this, since I still see it with Xtreme ToolkitPro v15.0.2 and Visual Studio 2010, and these work-arounds don't completely remove the skinning in the corner.
void CMyApp::OnFileOpen() { XTPSkinManager()->SetAutoApplyNewWindows(FALSE); CWinApp::OnFileOpen(); XTPSkinManager()->SetAutoApplyNewWindows(TRUE); } BOOL CMyDoc::DoSave(LPCTSTR lpszPathName, BOOL bReplace) { XTPSkinManager()->SetAutoApplyNewWindows(FALSE); BOOL bRet = CDocument::DoSave(lpszPathName, bReplace); XTPSkinManager()->SetAutoApplyNewWindows(TRUE); return bRet; } |
|
![]() |
|
Marco1 ![]() Senior Member ![]() Joined: 16 January 2004 Location: Germany Status: Offline Points: 251 |
![]() ![]() ![]() ![]() ![]() |
I can still confirm the wrong left lower corner for 15.0.2 too.
Any progress or suggestions about this? |
|
![]() |
|
Ark42 ![]() Senior Member ![]() ![]() Joined: 20 October 2003 Status: Offline Points: 291 |
![]() ![]() ![]() ![]() ![]() |
My ticket issue #26583 is still open but has not been touched yet.
|
|
![]() |
|
Marco1 ![]() Senior Member ![]() Joined: 16 January 2004 Location: Germany Status: Offline Points: 251 |
![]() ![]() ![]() ![]() ![]() |
Is this http://forum.codejock.com/forum_posts.asp?TID=18052&KW=skinbuilder&PID=63310&title=codejock-style-template#63310 related (and therefore fixed) to this problem?
|
|
![]() |
|
Marco1 ![]() Senior Member ![]() Joined: 16 January 2004 Location: Germany Status: Offline Points: 251 |
![]() ![]() ![]() ![]() ![]() |
Still having this problem in 15.1.1...
![]() |
|
![]() |
|
Oleg ![]() Admin Group ![]() Joined: 21 May 2003 Location: United States Status: Offline Points: 11234 |
![]() ![]() ![]() ![]() ![]() |
Hello,
Sorry we don't consider this black line as some bug.
|
|
Oleg, Support Team
CODEJOCK SOFTWARE SOLUTIONS |
|
![]() |
|
Willowmaster ![]() Senior Member ![]() ![]() Joined: 12 July 2010 Location: Netherlands Status: Offline Points: 180 |
![]() ![]() ![]() ![]() ![]() |
I'm just curious. Do you use the SkinFramework for the skinning or the build in types? Because I could look into the skinfile to find the problem for you if you would like. (trying to get some experience with the skinbuilder. ;) )
|
|
Product: Xtreme SuitePro (ActiveX) version 15.3.1
Platform: Windows XP (32bit) - SP 3 (on VMWare) Language: Visual Basic 6.0 |
|
![]() |
|
Marco1 ![]() Senior Member ![]() Joined: 16 January 2004 Location: Germany Status: Offline Points: 251 |
![]() ![]() ![]() ![]() ![]() |
Oleg, I don't mean the black line, it's about the gripper fragment at the right bottom corner when dlg is NOT skinned.
I know that you can't do anything on the black lines which are caused by MS special - that has been already discussed in some other forums in the net. @Willowmaster: skinning is done via .cjstyle file, but in this case the dlg skinning is disabled but the blue gripper is still there. |
|
![]() |
|
Algae ![]() Senior Member ![]() ![]() Joined: 08 January 2007 Location: United States Status: Offline Points: 217 |
![]() ![]() ![]() ![]() ![]() |
Hello Oleg,
I understand the black background/buttons etc in what I "think" is the explorer bar at the top of the CFileDialog is considered to be "by design". My question is can this band be changed in the skin editor? If so, can you point me in the right direction to do so? What elements do I need to modify? I've tried searching for the answer in the forums but haven't found an answer outside of disabling skinning for this particular dialog. If there is a post that shows how to do this, a link to the post would be helpful. Thanks! |
|
![]() |
|
astoyan ![]() Admin Group ![]() ![]() Joined: 24 August 2013 Status: Offline Points: 315 |
![]() ![]() ![]() ![]() ![]() |
Hello everybody,
The "Black ReBar" issue has been fixed and will be available in the next version of Xtreme ToolkitPro. Thank you for your interest in Codejock products. Regards, Alexander
|
|
![]() |
|
tim00005 ![]() Newbie ![]() Joined: 23 July 2013 Status: Offline Points: 6 |
![]() ![]() ![]() ![]() ![]() |
Note - gripper problem still there in 16.2.0 and also the normal text for file/folder names is incorrect as that is also being pulled from the skin.
|
|
![]() |
|
Algae ![]() Senior Member ![]() ![]() Joined: 08 January 2007 Location: United States Status: Offline Points: 217 |
![]() ![]() ![]() ![]() ![]() |
Is this fixed in 16.2.4?
![]() I hesitate to port all my library fixes/changes unless this is the case. Thanks! |
|
![]() |
|
Algae ![]() Senior Member ![]() ![]() Joined: 08 January 2007 Location: United States Status: Offline Points: 217 |
![]() ![]() ![]() ![]() ![]() |
I don't know about previous versions, but 16.2.6 corrects the black rebar problem. YES!
Whoever fixed it gets a big thank you! |
|
![]() |
|
cluster ![]() Groupie ![]() Joined: 22 January 2015 Status: Offline Points: 91 |
![]() ![]() ![]() ![]() ![]() |
I have the same problem with the CFileDialog and skin framework.
I use a dark theme skin and if I switch off by XTPSkinManager()->SetAutoApplyNewWindows(FALSE); CFileDialog fileDlg(TRUE); fileDlg.DoModal(); XTPSkinManager()->SetAutoApplyNewWindows(TRUE); I will get this behavior: ![]() |
|
![]() |
|
akur ![]() Senior Member ![]() Joined: 16 May 2006 Status: Offline Points: 139 |
![]() ![]() ![]() ![]() ![]() |
On Windows 10, the sample "SkinCommCtrl" has a wrong context menu in standard FileOpen dialog (using version 1700):
![]() Is a workaround other than disabling skinning of menu possible? Can we hope for a fix in the next v17 release? |
|
![]() |
|
SvenC ![]() Groupie ![]() Joined: 02 February 2007 Status: Offline Points: 79 |
![]() ![]() ![]() ![]() ![]() |
Same in 17.1.0.
Plus: the edit controls (File name and directory combobox at top when putting the edit cursor inside) are too tiny. The height is not enough, so text gets clipped. There is a big white borders inside the controls while editing, so maybe it is just a wrong placement of the edit control inside the combo box.
|
|
--
SvenC Toolkit Pro 15.3.1, 16.2.4, 16.3.1, 16.4.0, 17.2.0, 17.3.0, 18.0.1, 18.2 with VC++ 2010, 2012, 2013, 2015, 2017 |
|
![]() |
|
Algae ![]() Senior Member ![]() ![]() Joined: 08 January 2007 Location: United States Status: Offline Points: 217 |
![]() ![]() ![]() ![]() ![]() |
I've noted the same context menu skinning problem with Win 10 as noted in an earlier post.
The problem appears at least back to version 16.26. The right-click context menu appears as a narrow bar. The context menu problem goes away if first you set the skin to Default, then select another skin. Obviously not a practical solution, but could provide some insight into what's gone wrong. |
|
![]() |
|
Marco1 ![]() Senior Member ![]() Joined: 16 January 2004 Location: Germany Status: Offline Points: 251 |
![]() ![]() ![]() ![]() ![]() |
I really gave up skinning this file dialog. It has never been working well.
Unfortunately with skinning disabled, as described in my initial post above, the bottom right blue corner still remains. Tested with 17.1.0 CJ, can you please try to fix this issue either way? Thanx!! |
|
![]() |
|
olebed ![]() Admin Group ![]() Joined: 01 July 2014 Location: Ukraine Status: Offline Points: 841 |
![]() ![]() ![]() ![]() ![]() |
This has been fixed, the fix will be available soon in v17.2 Topic: V17.1 Malformed skinnings |
|
![]() |
|
agontarenko ![]() Admin Group ![]() Joined: 25 March 2016 Status: Offline Points: 311 |
![]() ![]() ![]() ![]() ![]() |
![]() "On Windows 10, the sample "SkinCommCtrl" has a wrong context menu in standard FileOpen dialog" - This has been fixed, the fix will be available in next beta or final release. |
|
![]() |
|
agontarenko ![]() Admin Group ![]() Joined: 25 March 2016 Status: Offline Points: 311 |
![]() ![]() ![]() ![]() ![]() |
![]() This issue has been fixed, the fix will be available in next beta or final release. Regards, Artem Gontarenko |
|
![]() |
|
Algae ![]() Senior Member ![]() ![]() Joined: 08 January 2007 Location: United States Status: Offline Points: 217 |
![]() ![]() ![]() ![]() ![]() |
I gave up waiting for the promised fix for "Windows 10 context menu in standard FileOpen dialog" where the right click menu is chopped into a narrow band.
After some experimentation, I devised a solution. A little background first. I have been unable to use anything later than CJ 16.26 due to a number of critical flaws. That being said, you may or may not require the GetVersion replacement function described below. The following should make the Windows 10 context menu both skin and function normally: 1. First we replace the Windows 10 disastrous GetVersion code so we actually know what OS it is. Add this at the end of your Application header file. This should give you a working function to see if the client machine is Win 10. AFX_INLINE BOOL EqualsMajorVersion(DWORD majorVersion) { OSVERSIONINFOEX osVersionInfo; ::ZeroMemory(&osVersionInfo, sizeof(OSVERSIONINFOEX)); osVersionInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); osVersionInfo.dwMajorVersion = majorVersion; ULONGLONG maskCondition = ::VerSetConditionMask(0, VER_MAJORVERSION, VER_GREATER_EQUAL); return ::VerifyVersionInfo(&osVersionInfo, VER_MAJORVERSION, maskCondition); } 2. Next, add the following to your program initialization as shown: BOOL CMyApp::InitInstance() { // initialize various things ... // I inserted right after this line LoadStdProfileSettings(); // Load standard INI file options (including MRU) if ( EqualsMajorVersion(10) ) XTPSkinManager()->SetApplyOptions(xtpSkinApplyMetrics | xtpSkinApplyColors | xtpSkinApplyFrame); ... // continue initializing } The SkinManager Apply Options must be set to make the dialog work properly. As always, your mileage may vary but it worked for me. |
|
![]() |
|
kstowell ![]() Admin Group ![]() Joined: 25 January 2003 Location: MIchigan, USA Status: Offline Points: 496 |
![]() ![]() ![]() ![]() ![]() |
Hi Algae, thank you for your suggestion, I will if we can get this problem resolved with our next release.
|
|
Kirk Stowell, President and CEO
CODEJOCK SOFTWARE SOLUTIONS< |
|
![]() |
|
cluster ![]() Groupie ![]() Joined: 22 January 2015 Status: Offline Points: 91 |
![]() ![]() ![]() ![]() ![]() |
I think I am the only one who wants to use the CFileDialg together with skin framework.
It doesn't work with enable skin framework nor with disable by XTPSkinManager()->SetAutoApplyNewWindows(FALSE); I mean is there an alternative for the CFileDialog??? ![]() Windows 7 Visual Studio 2010 CodeJock 17.3 |
|
![]() |
|
astoyan ![]() Admin Group ![]() ![]() Joined: 24 August 2013 Status: Offline Points: 315 |
![]() ![]() ![]() ![]() ![]() |
Can you please describe what exactly is not working for you with CFileDialog in details?
It is being used by many users and we we perform tests regularly, if it didn't work at all this would have been noticed and fixed already, so apparently it is specific to your use case. Have you tried to check any of our SkinFramework samples? If so, hasn't it still worked? Regards, Alexander
|
|
![]() |
|
cluster ![]() Groupie ![]() Joined: 22 January 2015 Status: Offline Points: 91 |
![]() ![]() ![]() ![]() ![]() |
It is the same behavior as I have descripted already in my last post here for almost one year...
And if I enable the skin framework with dark theme it looks like this: ![]() |
|
![]() |
|
cluster ![]() Groupie ![]() Joined: 22 January 2015 Status: Offline Points: 91 |
![]() ![]() ![]() ![]() ![]() |
Hi again, Skin Framework (Dark theme) and CFileDialog or CFolderPickerDialog are not compatible. There is no good way to solve this issue. I have figured out that, if you enable only the option xtpSkinApplyFrame and xtpSkinApplyMetrics and disable the AutoApplyNewWindow flag then you will get the "normal" look. But i need to enable the xtpSkinApplyColors option as well. So now, my idea was to disable this option before creating the file dialog and enable again, but then the whole app will flicker horrible. XTPSkinManager()->SetApplyOptions(xtpSkinApplyFrame | xtpSkinApplyMetrics); XTPSkinManager()->SetAutoApplyNewWindows(FALSE); CFolderPickerDialog dlgFile(); dlgFile.DoModal()... XTPSkinManager()->SetAutoApplyNewWindows(TRUE); XTPSkinManager()->SetApplyOptions(xtpSkinApplyFrame | xtpSkinApplyMetrics | xtpSkinApplyColors); Could you bring the FileDialog (IFileDialog) to a black list from the skin framework as you do with the "Internet Explorer" and "OleMainThread" for example? |
|
Windows 7
Visual Studio 2013 CodeJock 18.6 |
|
![]() |
|
cluster ![]() Groupie ![]() Joined: 22 January 2015 Status: Offline Points: 91 |
![]() ![]() ![]() ![]() ![]() |
Hi, now, I have found a dirty solution to disable the skin framework for the CFileDialog and CFolderPickerDialog. Better than nothing! ;-)
|
|
Windows 7
Visual Studio 2013 CodeJock 18.6 |
|
![]() |
Post Reply ![]() |
|
Tweet
|
Forum Jump | Forum Permissions ![]() You cannot post new topics in this forum You cannot reply to topics in this forum You cannot delete your posts in this forum You cannot edit your posts in this forum You cannot create polls in this forum You cannot vote in polls in this forum |