Dialog Fullscreen question

I have a windows mobile app writen using MFC in VS2005.  I have made all my dialogs fullscreen using the following:
BOOL CMyClass::OnInitDialog()
      SHINITDLGINFO shidi;
      shidi.dwMask = SHIDIM_FLAGS;
      shidi.hDlg = m_hWnd;
      SHFullScreen( m_hWnd, SHFS_HIDESTARTICON|


      HWND hWnd;
      hWnd = ::SHFindMenuBar(this->m_hWnd);
      ::ShowWindow(hWnd, SW_HIDE);

void COptions::OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized)
     CDialog::OnActivate(nState, pWndOther, bMinimized);

                                                SHFS_HIDESIPBUTTON );


     HWND hWnd;
     hWnd = ::SHFindMenuBar(this->m_hWnd);
     ::ShowWindow(hWnd, SW_HIDE);


But I am having a problem with one of my dialogs which contains a tab control with 3 tabs.  In each tab I have a seperate dialog and I place each one like so:
//Tab Options
     dlgTab1Dlg = new CTab1(this);
     dlgTab1Dlg->Create(IDD_TAB1_DIALOG, this);
     dlgTab1Dlg->SetWindowPos(NULL, rTab.left, rTab.top, rTab.Width(), rTab.Height(), SWP_NOZORDER);

     dlgTab2Dlg = new CTab2(this);
     dlgTab2Dlg->Create(IDD_TAB2_DIALOG, this);
     dlgTab2Dlg->SetWindowPos(NULL, rTab.left, rTab.top, rTab.Width(), rTab.Height(), SWP_NOZORDER);

I cannot get the dialog which contains these tab dialogs to hide the bottom menu bar.  Why would doing the above affect this??
Who is Participating?

Improve company productivity with a Business Account.Sign Up

pgnatyukConnect With a Mentor Commented:
m_bFullScreen is from the MFC, if you will debug your OnInitDialog you can get in into CDialog::OnInitDiallog and see what's going on there. It should TRUE, that was my misunderstanding or a mistake.
How I remember,  MFC calls SHInitDialog, so in each full screen dialog you see the command bar again. You need to hide it and redraw your dialog. You need to handle WM_ACTIVATE. You see - you draw your window millions of times.
I was lucky to escape from this, I don't use MFC. So only when the application starts up, I need to hide the command bar and I need to handle WM_ACTIVATE only in the main window.
Wanting2LearnManAuthor Commented:
If I comment out the lines:
dlgTab1Dlg->Create(IDD_INCLUDE_DIALOG, this);
dlgTab2Dlg->Create(IDD_INCLUDE_DIALOG, this);

Then my dialogs are shown fullscreen with the bottom menu bar hidden (The dialogs in the tabs are not shown but this may give a hint as to whats wrong)
I can be wrong here. Also I don't understand - the task is to hide the MS controls and don't see them in the application at all? Or sometimes you need to show them?
How I remember you need to hide MS bars and menus only once in your application, you don't need to do it in each dialog. I don't know remember it will look like if you will open and close them all the time. When you do it (show/hide for the such system controls) you have to redraw your window each time.
In CDialog::OnInitDialog should be a line like:
m_bFullScreen = TRUE;
so just make m_bFullScreen = FALSE in your dialog.
Wanting2LearnManAuthor Commented:
Yes the task is to hide the MS controls and don't see them in the application at all.  I dont want to see them anytime.

I have found that I have to do it in the OnInitDialog AND OnActivate because if you launch a new dialog the menubar will reappear.  The problem I have is strange as the addition of the Tab control with these other dialogs placed inside the tab control seem to not allow me to hide the menubar like I normally do.

Any other ideas?  Thanks
Wanting2LearnManAuthor Commented:
Also, why would I make m_bFullScreen = FALSE ? when I want my dialog to be fullscreen?
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.