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.
Subject |
Author |
Date |
|
tera tera
|
Jul 1, 2009 - 1:31 AM
|
Hello. I do not use PaintManagerStateLoad
Please teach a merit to use May I make PaintManager at the time of start every time? g_PaintManager.InstallPaintManager(
RUNTIME_CLASS(CMuPaintManager)
//RUNTIME_CLASS(CExtPaintManager)
//RUNTIME_CLASS(CExtPaintManagerXP)
//RUNTIME_CLASS(CExtPaintManagerOffice2003)
////RUNTIME_CLASS(CExtPaintManagerStudio2008)
//RUNTIME_CLASS(CExtPaintManagerOffice2003NoThemes)
//RUNTIME_CLASS(CExtPaintManagerStudio2005)
//RUNTIME_CLASS(CExtPaintManagerNativeXP)
//RUNTIME_CLASS(CExtPaintManagerOffice2007_R1) // シルバー
//RUNTIME_CLASS(CExtPaintManagerOffice2007_R2_LunaBlue) // 青い
//RUNTIME_CLASS(CExtPaintManagerOffice2007_R2_Obsidian) // 黒い
//RUNTIME_CLASS(CExtPaintManagerOffice2007_R3_Silver)
);
|
|
LAURA GUGLIELMETTI
|
May 13, 2010 - 1:39 AM
|
Dear Tech-support, I’m calling an exe made using your Prof-UI 2.89 and with the CExtPaintManagerOffice2007_R3_Obsidian theme from an application that is a standard Win32 app using CreateProcess. Once this exe is open, if I create any dialog inside the original Win32 app, the background of such dialog is according to obsidian theme as well. Is it possible to avoid such behavior. Do I miss something inside the Prof-UI application ? Thanks in advance for your help. Best regards Laura
|
|
Technical Support
|
May 13, 2010 - 12:49 PM
|
Our customers often ask us a question which is "vice versa" version of your question: how to make some non-Prof-UIS dialog fully or partially themed by Prof-UIS? We do not perform any automatic theming of non-Prof-UIS dialogs. But this is possible. Here is the example of how to skin the standard Windows shell dialog for browsing folders:
CExtNCW < CExtResizableDialog > dlgSkin;
dlgSkin.SetAutoSubclassChildControls();
::AfxHookWindowCreate();
::ShBrowseForFolder( . . . . . . . );
::AfxUnHookWindowCreate();
Something similar can occur in your app occasionally. The AfxHookWindowCreate() API is invoked during the MFC/Prof-UIS dialog construction. We suspect you displayed your CDialog -based window while the CExtResizableDialog -based window construction was not completed.
|
|
Technical Support
|
Jul 1, 2009 - 7:43 AM
|
Yes, you simply should install a paint manager like demonstrated in the code snippet in your message and you should not invoke state loading/saving code of the paint manager. Please also note, most of the Prof-UIS classes are derived from the CExtPmBridge interface class which notifies other component about paint manager changing event what allows Prof-UIS classes to reload their settings for the new applied UI theme. If you install paint manager before creating any windows in your application, then the startup time should be a bit faster.
|
|