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 » ShowControlBar bug with floating MiniFrameWnd Collapse All
Subject Author Date
Suhai Gyorgy Oct 5, 2006 - 8:32 AM

Dear Support,

I have reproduced a - I think - bug in your ProfStudio sample. Please, insert the following line in the OnCmdMsg method of the MainFrame class:

BOOL CMainFrame::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo) 
{
	if( nCode == CN_COMMAND )
	{
#if (!defined __EXT_PROFUIS_STATIC_LINK || defined __EXT_PROFUIS_STATIC_LINK_WITH_RESOURCES)
#ifndef __EXT_MFC_NO_MDI_WINDOWS_LIST_DIALOG	
		if( nID == ID_WINDOWS_LIST )
		{
			ShowControlBar(&m_wndSolutionExplorerBar, false, false); // this line added
			CExtMdiWindowsListDlg dlg( this );
			dlg.DoModal();
			return TRUE;
		}
#endif // #ifndef __EXT_MFC_NO_MDI_WINDOWS_LIST_DIALOG	
#endif // #if (!defined __EXT_PROFUIS_STATIC_LINK || defined __EXT_PROFUIS_STATIC_LINK_WITH_RESOURCES)
	}
	...
}
Rebuild solution with Static Unicode Release configuration and run application. Grab the three control bars "Class View", "Resource View" and "Solution Explorer" tabbed together, and pull them out of docked state so that they are in a floating MiniFrameWnd. Then close this little window (a needed flag is not set, so all 3 control bars will disappear at once), and from the view menu show again "Solution Explorer" only. So now this control bar is not really in floating state, but rather tabbed together with 2 other hidden control bars. If now I fire the command "Windows..." under "Window" menu ( the one with identifier ID_WINDOWS_LIST ), the "Solution Explorer" control bar should disappear right away, as soon as the ShowControlBar(&m_wndSolutionExplorerBar, false, false); line is called. But the control bar only disappears after I close the appearing CExtMdiWindowsListDlg. To be more specific, the control bar disappears, but the empty MiniFrameWnd can be still seen as long as the CExtMdiWindowsListDlg can be seen.

Is this issue fixed in v2.60? If not, could you provide a fix I can insert in my v2.55?
Thank you for your help:
Chris

Technical Support Oct 6, 2006 - 5:25 AM

Complex groups of floating control bars have delayed behavior in several cases. The case described in your message requires an additional message loop to let the floating palette update its state:

    . . .
    ShowControlBar(&m_wndSolutionExplorerBar, false, false);
    CExtPopupMenuWnd::PassMsgLoop( true );
    . . .


Suhai Gyorgy Oct 6, 2006 - 6:10 AM

Great, it works nice, thank you!