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 » XP Style controls Collapse All
Subject Author Date
MUKESH GUPTA Aug 11, 2011 - 7:40 AM

I added the following statement to my project stdafx.h to generate xp style controls for the dialogs which don’t have profuis theme applied -
#pragma comment(linker,"/manifestdependency:\"type=’win32’ name=’Microsoft.Windows.Common-Controls’ version=’6.0.0.0’ processorArchitecture=’x86’ publicKeyToken=’6595b64144ccf1df’ language=’*’\"")

I was able to get the style after this change but this resulted in application taking around 50% CPU usage continuously till the main window is open (which actually has the profuis theme applied).

Is there a known issue of incompatibility between profuis and xp style controls? Is there a workaround for the same?

Technical Support Aug 19, 2011 - 2:51 AM

We cannot reproduce the performance problem using Prof-UIS sample applications. Could you please modify some sample project, make it working slow and send the modified project to us?

Technical Support Aug 14, 2011 - 9:27 AM

There are no known issues related to themed common controls. Besides, all the sample applications provided with Prof-UIS use manifest_x86.xml manifest which you can find inside res folder. The manifest_x86.xml manifest contains the same dependency.

MUKESH GUPTA Aug 16, 2011 - 6:58 AM

With reference to the issue reported, I found that the UI is getting update command irrespective of whether the UI is in focus or not and the number of requests coming in are very high, which was resulting in the high CPU usage. The following is a part of the stack from the application -

CWnd::SendMessageToDescendants
AfxCallWndProc:
CExtToolControlBar::WindowProc
CExtControlBar::WindowProc
CControlBar::WindowProc
CWnd::WindowProc
CWnd::OnWndMsg
CExtControlBar::OnIdleUpdateCmdUI
CExtBarButton::OnUpdateCmdUI
CCmdUI::DoUpdate
MyMainFrame::OnCmdMsg
CFrameWnd::OnCmdMsg
CCmdTarget::OnCmdMsg
_AfxDispatchCmdMsg
.....calls to my ON_UPDATE_COMMAND_UI functions


Please suggest.

Technical Support Aug 17, 2011 - 12:59 AM

Please provide us with more details about where exactly the call stack listing points to the CExtToolControlBar::WindowProc() method. Additionally ... What happened in the MyMainFrame::OnCmdMsg() method and why it causes invocation of the CCmdUI::DoUpdate() method. This looks like some ticks with direct access to toolbar button objects.

MUKESH GUPTA Aug 18, 2011 - 12:31 AM

The call stack provided is top down and not bottom up. CCmdUI::DoUpdate() is making a call to MyMainFrame::OnCmdMsg() and not otherwise.

Please let me know if you need any further details on this.