Code to View/Hide Status Bar in SDI and MDI Applications

Here's a little handler for the OnViewStatusBar message handler to change the "View/Hide Status Bar" menu option so that the application (main) window changes its height according to the size of the visible client area.

provided by: 
Originally published at Internet.com


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

Author: Volker Bartheld

Read article at Internet.com site
Related Articles
Regional Articles
- Code to View/Hide Status Bar in SDI and MDI Applications Alabama
- Code to View/Hide Status Bar in SDI and MDI Applications Alaska
- Code to View/Hide Status Bar in SDI and MDI Applications Arizona
- Code to View/Hide Status Bar in SDI and MDI Applications Arkansas
- Code to View/Hide Status Bar in SDI and MDI Applications California
- Code to View/Hide Status Bar in SDI and MDI Applications Colorado
- Code to View/Hide Status Bar in SDI and MDI Applications Connecticut
- Code to View/Hide Status Bar in SDI and MDI Applications DC
- Code to View/Hide Status Bar in SDI and MDI Applications Delaware
- Code to View/Hide Status Bar in SDI and MDI Applications Florida
- Code to View/Hide Status Bar in SDI and MDI Applications Georgia
- Code to View/Hide Status Bar in SDI and MDI Applications Hawaii
- Code to View/Hide Status Bar in SDI and MDI Applications Idaho
- Code to View/Hide Status Bar in SDI and MDI Applications Illinois
- Code to View/Hide Status Bar in SDI and MDI Applications Indiana
- Code to View/Hide Status Bar in SDI and MDI Applications Iowa
- Code to View/Hide Status Bar in SDI and MDI Applications Kansas
- Code to View/Hide Status Bar in SDI and MDI Applications Kentucky
- Code to View/Hide Status Bar in SDI and MDI Applications Louisiana
- Code to View/Hide Status Bar in SDI and MDI Applications Maine
- Code to View/Hide Status Bar in SDI and MDI Applications Maryland
- Code to View/Hide Status Bar in SDI and MDI Applications Massachusetts
- Code to View/Hide Status Bar in SDI and MDI Applications Michigan
- Code to View/Hide Status Bar in SDI and MDI Applications Minnesota
- Code to View/Hide Status Bar in SDI and MDI Applications Mississippi
- Code to View/Hide Status Bar in SDI and MDI Applications Missouri
- Code to View/Hide Status Bar in SDI and MDI Applications Montana
- Code to View/Hide Status Bar in SDI and MDI Applications Nebraska
- Code to View/Hide Status Bar in SDI and MDI Applications Nevada
- Code to View/Hide Status Bar in SDI and MDI Applications New Hampshire
- Code to View/Hide Status Bar in SDI and MDI Applications New Jersey
- Code to View/Hide Status Bar in SDI and MDI Applications New Mexico
- Code to View/Hide Status Bar in SDI and MDI Applications New York
- Code to View/Hide Status Bar in SDI and MDI Applications North Carolina
- Code to View/Hide Status Bar in SDI and MDI Applications North Dakota
- Code to View/Hide Status Bar in SDI and MDI Applications Ohio
- Code to View/Hide Status Bar in SDI and MDI Applications Oklahoma
- Code to View/Hide Status Bar in SDI and MDI Applications Oregon
- Code to View/Hide Status Bar in SDI and MDI Applications Pennsylvania
- Code to View/Hide Status Bar in SDI and MDI Applications Rhode Island
- Code to View/Hide Status Bar in SDI and MDI Applications South Carolina
- Code to View/Hide Status Bar in SDI and MDI Applications South Dakota
- Code to View/Hide Status Bar in SDI and MDI Applications Tennessee
- Code to View/Hide Status Bar in SDI and MDI Applications Texas
- Code to View/Hide Status Bar in SDI and MDI Applications Utah
- Code to View/Hide Status Bar in SDI and MDI Applications Vermont
- Code to View/Hide Status Bar in SDI and MDI Applications Virginia
- Code to View/Hide Status Bar in SDI and MDI Applications Washington
- Code to View/Hide Status Bar in SDI and MDI Applications West Virginia
- Code to View/Hide Status Bar in SDI and MDI Applications Wisconsin
- Code to View/Hide Status Bar in SDI and MDI Applications Wyoming

Topics: 
Architecture & Design Languages & Tools Project Management Web Services
Database Microsoft & .NET Security Wireless
Java Open Source Techniques XML