Print Page | Close Window

Skinning everything apart from title bars

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=14736
Printed Date: 16 November 2024 at 6:50pm
Software Version: Web Wiz Forums 12.04 - http://www.webwizforums.com


Topic: Skinning everything apart from title bars
Posted By: markh
Subject: Skinning everything apart from title bars
Date Posted: 13 July 2009 at 2:30pm
Hello
 
I am trying to skin everything in my application apart from the title bars of top level windows. Is this possible?
 
I have tried removing xtpSkinApplyFrame from SkinFrameworkApplyOptions. This does stop the title bars from being skinned but it also stops the scrollbars on all windows from being skinned, which I want.
 
Is there a way to achieve this?
 
Thanks
Mark
 



Replies:
Posted By: Oleg
Date Posted: 14 July 2009 at 5:22am
Hi,
 
No. ScrollBars are part of frame.


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


Posted By: markh
Date Posted: 14 July 2009 at 5:32am

Thanks Oleg.

So is there any way I can change the SkinFrameworkApplyOptions on a per window basis? I basically don't want the title bars of my dialog boxes skinned but I do want the controls within the dialog, such as Edit controls, to have skinned scrollbars. If I could set the SkinFrameworkApplyOptions for only the dialog box (not it's child controls) to not include xtpSkinApplyFrame then this could be achievable. Otherwise, is there another way of doing this?

Thanks
Mark


Posted By: Oleg
Date Posted: 14 July 2009 at 1:17pm
You can call XTPSkinManager()->Remove(hWnd) to remove skin from some window.

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


Posted By: markh
Date Posted: 15 July 2009 at 7:42am
I don't generally have easy access to the HWND of the dialog boxes that I want to remove skinning from. I have tried using RemoveWindowClass with "#32770" as the class name. However, this doesn't seem to work for some reason.
 
This can be seen in the VB "SDISample" sample application. I have added the following lines to Form_Load():
 
    SkinFramework.LoadSkin App.Path & "\Styles\Le5", "Normalblue.ini"
   
    SkinFramework.ApplyOptions = xtpSkinApplyColors Or xtpSkinApplyMetrics Or xtpSkinApplyFrame
   
    SkinFramework.ApplyWindow Me.hWnd
       
    SkinFramework.RemoveWindowClass "#32770"
 
However, when I click on any of the buttons to open one of the common dialogs, they are still skinned, as can be seen from the title bar.
 
Any ideas?
 
Thanks
Mark
 


Posted By: Oleg
Date Posted: 15 July 2009 at 7:49am
Hi,
 
You can set AutoApply option to False and Skin only windows you need.


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


Posted By: markh
Date Posted: 15 July 2009 at 8:05am
OK - I can try that I guess. However, I don't necessarily always have easy access to the HWNDs of all the windows I want to skin, so this could be quite difficult.
 
Any idea why the RemoveWindowClass method class doesn't work for the dialog class, as if it did, I think this would solve my problem?
 
Thanks
Mark
 
 
P.S. It would be nice if the SkinFrameworkApplyOptions could specify a lot more specifically what to skin and what not to skin in a window.
 



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