Print Page | Close Window

Vista Aero / Ribbon / Skin issue

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=11914
Printed Date: 20 June 2024 at 7:34am
Software Version: Web Wiz Forums 12.04 - http://www.webwizforums.com


Topic: Vista Aero / Ribbon / Skin issue
Posted By: Rmoz
Subject: Vista Aero / Ribbon / Skin issue
Date Posted: 20 August 2008 at 11:51pm

We have a VB6 app that has both ribbon bars & skins. The user is allowed to change these colours to their likeing. The issue we have is under vista & Aero theme we get this happening to the ribbon

After some testing, it appears that the issue is with the skin & using the xtpSkinApplyFrame flag. If this is not used, the Aero theme looks fine except listview scrollbars of the form remain as the system theme and not as applied skin.
The help implies that the scrollbars are controlled under xtpSkinApplyMetrics and not xtpSkinApplyFrame ???
 
Now we can detect the AeroTheme via the GetCurrentSystemTheme method, but the Vista Basic theme also reports as aero and we have no issues with that theme.
 
So the real question(s) is :-
Can we get the listview scrollbars to skin independantly when using Aero ?
 
Or
 
Can the GetCurrentSytemTheme differentiate between Vista Aero & Vista Basic ?
 
Or
 
Can we use a Ribbon & Skin with xtpSkinApplyFrame under Vista Aero theme ?
 
 
Any help gratefully accepted.


-------------
ActiveX SuitePro v13.0



Replies:
Posted By: Oleg
Date Posted: 21 August 2008 at 1:53am
Hello,
Try remove main window from skinning:
SkinFramework.Remove me.hwnd


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


Posted By: Rmoz
Date Posted: 21 August 2008 at 2:45am
Hi Oleg,
 
Thanks for the very quick respomse, unfortunately it didn't seem to do the trick.....
 
 


-------------
ActiveX SuitePro v13.0


Posted By: ABuenger
Date Posted: 21 August 2008 at 4:47am
Originally posted by Rmoz Rmoz wrote:


Now we can detect the AeroTheme via the GetCurrentSystemTheme method, but the Vista Basic theme also reports as aero and we have no issues with that theme.


DwmIsCompositionEnabled:
http://msdn.microsoft.com/en-us/library/aa969518%28VS.85%29.aspx - http://msdn.microsoft.com/en-us/library/aa969518(VS.85).aspx



-------------
Codejock support


Posted By: Rmoz
Date Posted: 21 August 2008 at 11:50pm
Hi,
 
Is there anything that we can do with this issue ?? Would supplying you with a sample app help ??
 
I don't mean to hassle you, but if we cannot get a solution for this, it means we cannot support Vista Aero in our application.
 
Thanks.


-------------
ActiveX SuitePro v13.0


Posted By: jshan
Date Posted: 16 September 2008 at 5:06am
Following is my version of checking AeroEnabled in VC++.
I don't know much about VB. so change the code to VB yourself.
 

typedef BOOL (WINAPI *pDLLQuery)(OUT BOOL *bEnable);
BOOL IsVistaAeroEnabled()
{
    HMODULE hLib = ::LoadLibrary(L"dwmapi.dll");
    BOOL bResult = FALSE;

    if (hLib != NULL)
    {
  pDLLQuery cbFunc;
  cbFunc = (pDLLQuery)::GetProcAddress(hLib, "DwmIsCompositionEnabled");
        if (cbFunc != NULL )
        {
            BOOL bEnabled = FALSE;
            bResult = SUCCEEDED(cbFunc(&bEnabled)) && bEnabled;
        }
        ::FreeLibrary(hLib);
    }

    return bResult;
}



-------------
: xtp 16.2.0(Unicode static lib)

: windows 7 Pro Kor sp1(64bit)

: vs 2012 update 2 MFC



Posted By: Rmoz
Date Posted: 18 September 2008 at 3:40am
https://forum.codejock.com/uploads/20080918_222232_VistaAero.zip - uploads/20080918_222232_VistaAero.zip Thanks for everybodies help thus far, apologies Oleg, the RemoveWindow does half solve the issue.
 
If we use RemoveWindow on the form that contains the SkinFramwork Control, all is well and good. If a form is then opened by the 'main' form (i.e one that does not contain a skinframework) it opens fine until the use chooses a new theme. I should mention that we have designed our app then when the user chooses a new theme its is applied to all open windows.
 
Do we have any means of controlling how the skin applies to forms that do not contain the control.
 
I have tried turning off the ApplyToNewWindows setting and manually applying to new windows but due to application constraints we cannot use this without a whole lot of reworking.
 
Thanks again to all!
 
I have uploaded a sample app. You will need to place the ribbon DLL's & skin file to a Styles Folder in App.Path. Under Vista with the full Aero theme on, you can see the issues in the Sub Form.
 
Thanks again.


-------------
ActiveX SuitePro v13.0



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