Print Page | Close Window

Main frame not redrawing correctly

Printed From: Codejock Forums
Category: Codejock Products
Forum Name: Docking Pane
Forum Description: Topics Related to Codejock Docking Pane
URL: http://forum.codejock.com/forum_posts.asp?TID=25
Printed Date: 26 April 2024 at 9:17am
Software Version: Web Wiz Forums 12.04 - http://www.webwizforums.com


Topic: Main frame not redrawing correctly
Posted By: Graham
Subject: Main frame not redrawing correctly
Date Posted: 21 May 2003 at 10:00am

Using the GUID_VisualStudio7 project as an example. Undock the worksapce window containing the solution explorer window etc. Select the "Solution" tab. Switch to another application (full screen would be best) e.g. Visual Studio. Then switch back to the app, and the main frame is not redrawn, or is not brought to the front.

I have tried to use the submit bug report section of your website, but when submitting the bug an error is returned : "resource not found".

Regards,

Graham Hammell

P.S. I like the new docking windows. It was relatively easy to convert my existing app from using CXTDockWindow etc to the new docking windows.




Replies:
Posted By: Oleg
Date Posted: 22 May 2003 at 10:21am

Thank you for your suggestion.

You can make the following to fix it:  (or wait next version)

in XTPToolbar.cpp change the following function:

LRESULT CXTPToolBar::OnFloatStatus(WPARAM wParam, LPARAM)
{
 // FS_SYNCACTIVE is used to detect MFS_SYNCACTIVE windows
 LRESULT lResult = ((GetStyle() & MFS_SYNCACTIVE) && (wParam & FS_SYNCACTIVE));

 if (m_barPosition != xtpBarFloating || !m_bVisible)
  return lResult;

 if ((wParam & FS_DEACTIVATE) && !IsTopParentActive())
 {
  SetWindowPos(NULL, 0, 0, 0, 0, SWP_HIDEWINDOW | SWP_NOZORDER | SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE);
 }
 if ((wParam & FS_ACTIVATE) && !IsWindowVisible() && IsTopParentActive())
 {
  // check if parent invisible or minimized window
  DWORD dwStyle = ::GetWindowLong(::GetForegroundWindow(), GWL_STYLE);
  if ((dwStyle & WS_VISIBLE) && !(dwStyle & WS_MINIMIZE))  
   SetWindowPos(NULL, 0, 0, 0, 0, SWP_SHOWWINDOW | SWP_NOZORDER | SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE);  
  
 }
 if (wParam & (FS_SHOW|FS_HIDE))
 {
  SetWindowPos(NULL, 0, 0, 0, 0,
   ((wParam & FS_SHOW) ? SWP_SHOWWINDOW : SWP_HIDEWINDOW) | SWP_NOZORDER |
   SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE);
 }
 if (wParam & (FS_ENABLE|FS_DISABLE))
  EnableWindow((wParam & FS_ENABLE) != 0);

 return lResult;
}


in XTPControlComboBox.cpp change the following function:

CXTPControlComboBox::CXTPControlComboBox(void)
{
 m_controlType = xtpControlComboBox;
 m_dwDropDown = CBS_DROPDOWN;
 m_comboStyle = xtpComboNormal;
 m_nWidth = 100;
 m_nLabelWidth = 0;
 m_pEdit = 0;
 
 m_pCommandBar = new CListBoxExt();
 m_pCommandBar->CreateEx(WS_EX_STATICEDGE, _T("LISTBOX"), _T(""), WS_POPUP|WS_VSCROLL|WS_BORDER|WS_CLIPCHILDREN, CRect(0,0,0,0),  AfxGetMainWnd(),  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