Professional UI Solutions
Site Map   /  Register
 
 

Forum

Please Log In to post a new message or reply to an existing one. If you are not registered, please register.

NOTE: Some forums may be read-only if you are not currently subscribed to our technical support services.

Forums » Prof-UIS Tech Support » I want to know a set Window Style theme Collapse All
Subject Author Date
tera t Sep 10, 2007 - 10:55 PM

Hello.

In the PC which WindowsXP was put on.
When a theme becomes Windows classical.
ttp://profuis0.tripod.com/20070911/image01.jpg

I want to acquire the theme.
I do not understand a method of the theme acquisition.

Please teach it.
I am troubled.
Thank you.

tera t Sep 13, 2007 - 6:29 PM

Hello.

>I do not come in IsControlsThemed in a judgment of a theme.
>>Then create the manifest_x86.xml text file in the same folder with the .rc2 file. This XML file should have the following content:
>I do not work even if attached in these resources

About this matter.
I ask for an answer.

Thank you.

tera t Sep 12, 2007 - 11:52 PM

Hello.

I do not come in IsControlsThemed in a judgment of a theme.

>Then create the manifest_x86.xml text file in the same folder with the .rc2 file. This XML file should have the following content:
I do not work even if attached in these resources

IsThemeActive worked well. (--;

tera t Sep 11, 2007 - 7:51 PM

Hello.

Not a theme of g_PaintManager.
I want to acquire theme information of the Window OS side.
http://www.yukai.jp/~ifreeta/20070912/image01.jpg

I can never acquire these information.
Please teach it.
Thank you.

Technical Support Sep 12, 2007 - 12:52 PM

If we correctly understood you, you need to know when the controls should be drawn in the classic mode or using the theme API.

If yes, you can use the following code:

if( g_PaintManager.m_UxTheme.IsControlsThemed() )
{
	// THEMED MODE
}
else
{
	// CLASSIC MODE
}

Technical Support Sep 11, 2007 - 9:23 AM

You can determine which standard Windows XP theme is set using the following code:

CExtPaintManager::e_system_theme_t eST = g_PaintManager->OnQuerySystemTheme();
      switch( eST )
      {
      case CExtPaintManager::ThemeLunaBlue:
            ::AfxMessageBox( _T("Luna Blue") );
      break;
      case CExtPaintManager::ThemeLunaOlive:
            ::AfxMessageBox( _T("Luna Olive") );
      break;
      case CExtPaintManager::ThemeLunaSilver:
            ::AfxMessageBox( _T("Luna Silver") );
      break;
      case CExtPaintManager::ThemeUnknown:
            ::AfxMessageBox( _T("Other") );
      break;
      }
If you want to do this using the theme APIs provided with Windows XP or later, you should use the approach demonstrated in the CExtPaintManager::CExtPaintManagerAutoPtr::InitUserExApi() method.