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 » CExtTabPageContainerWnd initial appearance Collapse All
Subject Author Date
John Ritzenthaler Feb 19, 2009 - 5:25 PM

I’m using a CExtTabPageContainerWnd with CExtNCW<CExtResizableDialog> pages.  When the containing dialog (also (CExtNCW<CExtResizableDialog>) initially opens, the tab only shows the current page (grayed out)


 As soon as the mouse moves over the tab area it displays correctly.  And THIS is wierd: if I move the mouse to the title are of the containing dialog, just left of the close button, the appearance switches back to the single grayed tab.  I’ve tried setting all kinds of stuff with no luck.


BOOL CDlgPrefs::OnInitDialog() {  CExtNCW<CExtResizableDialog>::OnInitDialog();  if ((m_dlgBdCd.Create( IDD_PREFS_BDCD,  &m_wndTab) == FALSE)    ||(m_dlgCvt.Create( IDD_PREFS_CVT,  &m_wndTab) == FALSE)    ||(m_dlgDwg.Create( IDD_PREFS_DRAWING, &m_wndTab) == FALSE)    ||(m_dlgGen.Create( IDD_PREFS_GEN,  &m_wndTab) == FALSE)    ||(m_dlgPrt.Create( IDD_PREFS_PRT,  &m_wndTab) == FALSE)    ||(m_dlgXHair.Create( IDD_PREFS_CLOSEUP, &m_wndTab) == FALSE))  {   TRACE0("Failed to create dialogs\n");   return -1;  // fail to create  }  VERIFY(m_wndTab.PageInsert(&m_dlgDwg, _T("Drawing")));  VERIFY(m_wndTab.PageInsert(&m_dlgXHair, _T("Close-up")));  VERIFY(m_wndTab.PageInsert(&m_dlgGen, _T("General")));  VERIFY(m_wndTab.PageInsert(&m_dlgCvt, _T("Conversion")));  VERIFY(m_wndTab.PageInsert(&m_dlgPrt, _T("Printing")));  VERIFY(m_wndTab.PageInsert(&m_dlgBdCd, _T("Bid Codes")));  m_wndTab.AutoHideScrollSet(true);  m_wndTab.CenterTextSet(true);  m_wndTab.FullWidthSet(true);  m_wndTab.SelectionBoldSet(true);  m_wndTab.OrientationSet(__ETWS_ORIENT_TOP);  m_wndTab.ShowBtnCloseSet(false);  m_wndTab.ShowBtnHelpSet(false);  m_wndTab.ShowBtnTabListSet(false);  m_wndTab.PageSelectionSet(2);  return (TRUE); }


All the code after the PageInsert commands are stuff I added trying to fix this.  I also tried Invalidating the tab control and the containing dialog.

Technical Support Feb 23, 2009 - 8:55 AM

We think you can use the following dialog as a property sheet window:

http://www.prof-uis.com/download/forums/TestTabPageContainerInDialog.zip

Technical Support Feb 20, 2009 - 1:59 PM

Could you please send us a screenshot demonstrating the incorrectly looking tab page container window?

John Ritzenthaler Feb 21, 2009 - 9:55 AM

Your last suggestion was to derive the property pages from CExtResizableDialog rather than CExtNCW<CExtResizableDialog>.  That didn’t fix the problem but it disclosed it.  The single tab still appeared but this time it was readily identifiable as the title bar from the property sheet dialog.


You might note in your documentation that when converting from MFC’s CPropertySheet and CPropertyPage the developer needs to make the following changes to the dialog resources for the property pages:



  1. Change the Border property to "None".  This will get rid of the Title Bar

  2. Make sure the Style is "Child".  It should be set to this for MFC but MFC works when it’s "Popup".  ProfUIS doesn’t.

  3. Change the Disabled property to False.


Thanks for your help.