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

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

Clinical trial, patient diary, digital paper & pen Kayentis
(1) 215 966 6088
3624 Market Street, Suite 5E
Philadelphia, PA
Alydon Technical Services
(973) 275-6248
20 Essex Rd
Maplewood, NJ
Intecon Associates
(856) 546-1820
Haddonfield, NJ
Muscoware Datamanagement Systems Inc
(201) 670-6178
Ridgewood, NJ
Phase II Inc
(908) 756-9169
205 Stirling Rd
Watchung, NJ
InfoCures, LLC
856-675-3700
4300 Haddonfield Road
Pennsauken, NJ
Turbotronics
(856) 582-7300
5 E Focer St
Glassboro, NJ
Tricolor Inc
(732) 873-0305
9 Clyde Rd
Somerset, NJ
Essex Consulting Group Inc
(908) 753-4441
Watchung, NJ
Greenhaus William Inc
(973) 783-2336
184 Fernwood Ave
Montclair, NJ

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

InfoCures, LLC

856-675-3700
4300 Haddonfield Road
Pennsauken, NJ
http://www.infocures.com

InfoCures develops strategic IT plans and implements solutions that meet the contemporary technology needs of global businesses.


Related Local Events
Career & Technical Awards Luncheon
Dates: 5/13/2010 - 5/13/2010
Location: Heritage Ballrooms
Holmes, PA
View Details

Learn about Windows 7
Dates: 2/10/2010 - 2/10/2010
Location: The Delaware County Chamber of Commerce
Media, PA
View Details

Business Technology Forum
Dates: 1/8/2010 - 1/8/2010
Location: Chamber Offices
Fairless Hills, PA
View Details

Hot Java at the Watercooler
Dates: 12/23/2009 - 1/23/2010
Location: Odyssey Travel
Skippack, PA
View Details

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