Print Page | Close Window

Problem skinning CFileDialog

Printed From: Codejock Forums
Category: Codejock Products
Forum Name: Skin Framework
Forum Description: Topics Related to Codejock Skin Framework
URL: http://forum.codejock.com/forum_posts.asp?TID=17016
Printed Date: 28 March 2024 at 12:31pm
Software Version: Web Wiz Forums 12.04 - http://www.webwizforums.com


Topic: Problem skinning CFileDialog
Posted By: Marco1
Subject: Problem skinning CFileDialog
Date 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?



-------------
Product: XTP 18.3.0 on VS 2017
Platform: VS 2017 / Windows 10 (64bit)



Replies:
Posted By: Ark42
Date Posted: 30 April 2011 at 2:37am

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.





Posted By: Ark42
Date Posted: 03 May 2011 at 4:14pm
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;
}


Posted By: Marco1
Date Posted: 23 May 2011 at 2:10pm
I can still confirm the wrong left lower corner for 15.0.2 too.
Any progress or suggestions about this?


-------------
Product: XTP 18.3.0 on VS 2017
Platform: VS 2017 / Windows 10 (64bit)


Posted By: Ark42
Date Posted: 23 May 2011 at 2:15pm
My ticket issue #26583 is still open but has not been touched yet.


Posted By: Marco1
Date Posted: 11 July 2011 at 9:08am
Is this http://forum.codejock.com/forum_posts.asp?TID=18052&KW=skinbuilder&PID=63310&title=codejock-style-template#63310 - 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?

-------------
Product: XTP 18.3.0 on VS 2017
Platform: VS 2017 / Windows 10 (64bit)


Posted By: Marco1
Date Posted: 21 July 2011 at 4:12pm
Still having this problem in 15.1.1... Dead

-------------
Product: XTP 18.3.0 on VS 2017
Platform: VS 2017 / Windows 10 (64bit)


Posted By: Oleg
Date Posted: 22 July 2011 at 2:22am
Hello,

Sorry we don't consider this black line as some bug.


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


Posted By: Willowmaster
Date Posted: 22 July 2011 at 4:05am
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





Posted By: Marco1
Date Posted: 22 July 2011 at 5:24am
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.



-------------
Product: XTP 18.3.0 on VS 2017
Platform: VS 2017 / Windows 10 (64bit)


Posted By: Algae
Date Posted: 09 May 2013 at 2:39pm
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!


Posted By: astoyan
Date Posted: 15 September 2013 at 8:59am
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


Posted By: tim00005
Date Posted: 25 September 2013 at 6:26am
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. 


Posted By: Algae
Date Posted: 12 November 2013 at 3:03pm
Is this fixed in 16.2.4? Question

I hesitate to port all my library fixes/changes unless this is the case.

Thanks!


Posted By: Algae
Date Posted: 29 January 2014 at 7:25pm
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!


Posted By: cluster
Date Posted: 23 March 2016 at 12:07pm
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:








Posted By: akur
Date Posted: 05 April 2016 at 5:55am
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?


Posted By: SvenC
Date Posted: 05 April 2016 at 9:19am
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


Posted By: Algae
Date Posted: 05 April 2016 at 11:44am
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.


Posted By: Marco1
Date Posted: 05 April 2016 at 3:30pm
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!!



-------------
Product: XTP 18.3.0 on VS 2017
Platform: VS 2017 / Windows 10 (64bit)


Posted By: olebed
Date Posted: 06 April 2016 at 3:48am

Originally posted by SvenC SvenC wrote:

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.

This has been fixed, the fix will be available soon in v17.2
http://forum.codejock.com/forum_posts.asp?TID=22932" rel="nofollow -  Topic: V17.1 Malformed skinnings  


Posted By: agontarenko
Date Posted: 10 May 2016 at 3:46am

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


Posted By: agontarenko
Date Posted: 18 June 2016 at 11:28am



This issue has been fixed, the fix will be available in next beta or final release.

Regards,
Artem Gontarenko


Posted By: Algae
Date Posted: 24 August 2016 at 3:52pm
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.



Posted By: kstowell
Date Posted: 27 August 2016 at 9:22am
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<


Posted By: cluster
Date Posted: 03 March 2017 at 11:10am
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??? Confused

Windows 7
Visual Studio 2010
CodeJock 17.3




Posted By: astoyan
Date Posted: 03 March 2017 at 10:46pm
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



Posted By: cluster
Date Posted: 04 March 2017 at 4:19am
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:





Posted By: cluster
Date Posted: 14 May 2019 at 11:04am
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


Posted By: cluster
Date Posted: 16 May 2019 at 10:45am
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



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