Code to View/Hide Status Bar in SDI and MDI Applications
Ever wanted to change the "View/Hide Status Bar" menu option so that the application (main) window changes its height accordingly preserving the size of the visible client area?
Here's a little handler for the OnViewStatusBar message handler to perform this task. Versions for MFC or Non-MFC available.
//
// OnViewStatusBar handler
//
// increase or decrease app window height to adapt to
// visible or invisible status bar
//
void CMainFrame::OnViewStatusBar() // MFC version
// by Volker Bartheld
{
CControlBar* pBar = GetControlBar(AFX_IDW_STATUS_BAR);
if (pBar != NULL)
{
RECT AppWinRect, BarRect;
GetWindowRect(&AppWinRect);
pBar->GetWindowRect(&BarRect);
int iBarHeight = BarRect.bottom - BarRect.top;
BOOL bShow = (pBar->GetStyle() & WS_VISIBLE) == 0;
ShowControlBar(pBar, bShow, FALSE);
if (bShow)
{
// ... increase frame
SetWindowPos(&CWnd::wndNoTopMost,
AppWinRect.top, AppWinRect.left,
AppWinRect.right-AppWinRect.left, AppWinRect.bottom-
AppWinRect.top+iBarHeight,
SWP_NOMOVE);
}
else
{
// ... decrease frame
SetWindowPos(&CWnd::wndNoTopMost,
AppWinRect.top, AppWinRect.left,
AppWinRect.right-AppWinRect.left, AppWinRect.bottom-AppWinRect.top-
iBarHeight,
SWP_NOMOVE);
}
}
}
void CMainFrame::OnViewStatusBar() // non-MFC-version
// by Alexander Sailer
{
// MFC StatusbarHandler aufrufen
OnBarCheck(ID_VIEW_STATUS_BAR);
CControlBar* pBar = NULL;
BOOL bVisible(false);
RECT AppWinRect, BarRect;
int iBarHeight(0);
// get ptr to status bar
pBar = GetControlBar(ID_VIEW_STATUS_BAR);
ASSERT(pBar);
// Abme_ungen holen
GetWindowRect(&AppWinRect);
pBar->GetWindowRect(&BarRect);
iBarHeight = BarRect.bottom - BarRect.top;
// Abfrage ob Bar sichtbar ist
bVisible = pBar->IsVisible();
if (bVisible)// ... increase frame
{
SetWindowPos(&CWnd::wndNoTopMost,
AppWinRect.top, AppWinRect.left,
AppWinRect.right-AppWinRect.left,
AppWinRect.bottom-AppWinRect.top+iBarHeight,
SWP_NOMOVE);
}
else // ... decrease frame
{
SetWindowPos(&CWnd::wndNoTopMost,
AppWinRect.top, AppWinRect.left,
AppWinRect.right-AppWinRect.left,
AppWinRect.bottom-AppWinRect.top-iBarHeight,
SWP_NOMOVE);
}
}
Downloads
Download source - 1 Kb



Solid state disks (SSDs) made a splash in consumer technology, and now the technology has its eyes on the enterprise storage market. Download this eBook to see what SSDs can do for your infrastructure and review the pros and cons of this potentially game-changing storage technology.