Skinning everything apart from title bars |
Post Reply |
Author | |
markh
Groupie Joined: 12 November 2003 Location: United Kingdom Status: Offline Points: 49 |
Post Options
Thanks(0)
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
|
|
Oleg
Admin Group Joined: 21 May 2003 Location: United States Status: Offline Points: 11234 |
Post Options
Thanks(0)
|
Hi,
No. ScrollBars are part of frame.
|
|
Oleg, Support Team
CODEJOCK SOFTWARE SOLUTIONS |
|
markh
Groupie Joined: 12 November 2003 Location: United Kingdom Status: Offline Points: 49 |
Post Options
Thanks(0)
|
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
|
|
Oleg
Admin Group Joined: 21 May 2003 Location: United States Status: Offline Points: 11234 |
Post Options
Thanks(0)
|
You can call XTPSkinManager()->Remove(hWnd) to remove skin from some window.
|
|
Oleg, Support Team
CODEJOCK SOFTWARE SOLUTIONS |
|
markh
Groupie Joined: 12 November 2003 Location: United Kingdom Status: Offline Points: 49 |
Post Options
Thanks(0)
|
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 |
|
Oleg
Admin Group Joined: 21 May 2003 Location: United States Status: Offline Points: 11234 |
Post Options
Thanks(0)
|
Hi,
You can set AutoApply option to False and Skin only windows you need.
|
|
Oleg, Support Team
CODEJOCK SOFTWARE SOLUTIONS |
|
markh
Groupie Joined: 12 November 2003 Location: United Kingdom Status: Offline Points: 49 |
Post Options
Thanks(0)
|
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.
|
|
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 |