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

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.

Local Companies

Multinet Technologies Inc
(518) 348-1060
632 Plank Rd Ste 210
Clifton Park, NY
Revered Business Solutions
(518) 877-0763
321 Ushers Rd
Clifton Park, NY
Debsoft Solutions Inc
(518) 877-6311
749 Tanner Rd
Clifton Park, NY
CompareTechProviders.com
518-207-3445
5 Washington Place
Troy, NY
Phoenix Solutions
(518) 383-9897
46 Mann Blvd
Clifton Park, NY
Kincaid Network Solutions Llc
(518) 373-0714
143D Beach Rd
Clifton Park, NY
Abacus Information System
(518) 383-8333
855 Route 146 Ste 160
Clifton Park, NY

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

Featured Local Company

CompareTechProviders.com

518-207-3445
5 Washington Place
Troy, NY
http://CompareTechProviders.com

Review and compare providers of business essential software solutions. Request information, pricing and demos from multiple providers. Make the right choice for your business.

Related Local Events
Early Technologies Day
Dates: 4/10/2010 - 4/10/2010
Location: Iroquois Indian Museum
Howes Cave, NY
View Details

10th Annual SmartStart UNYTECH Venture Forum
Dates: 5/17/2010 - 5/18/2010
Location: Center for Economic Growth
Albany, NY
View Details

Itsy, Bitsy, Teeny, Weenie
Dates: 12/30/2009 - 12/30/2009
Location: The Children's Museum of Science and Technology
Troy, NY
View Details

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