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

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

Comvigo, Inc.
312-278-1115
15W675 82nd Street
Burr Ridge, IL
POGEE Systems & Technologies
(708) 267-7635
10448 S. Pulaski Road
Oak Lawn, IL
Collabricks Corporation
847 668 7635
1310 Charing Cross
Deerfield, IL
Whitestar Technologies Inc
(630) 834-9511
865 S Fairfield Ave
Elmhurst, IL
Vaccaro Consulting Inc
(630) 832-2223
133 N Caroline Ave
Elmhurst, IL
InterraIT
(630) 873-3525
Two Mid America Plaza
Oakbrook Terrace, IL
IFS
888-437-4968
300 Park Boulevard, Suite 555
Itasca, IL
StrategicSytems International
+1.847.424.2497
820 Davis Street,
Evanston, IL
Peak Network Performance
(630) 833-7210
110 E Schiller St
Elmhurst, IL
Caldyne Inc
(630) 833-0065
Elmhurst, IL

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

InterraIT

6308733525
Two Mid America Plaza
Oakbrook Terrace, IL
http://www.interrait.com

InterraIT is the largest privately held offshore consulting company with operations in USA, UK, CANADA, JAPAN India. The company offers a comprehensive portfolio of IT and IT-enabled services with a distinct focus on providing product engineering services, ERP solutions and web-based custom enterprise applications. Having worked with customers from varied industries in the last 10 yrs, the company consciously aligned itself with specific industry verticals which include Telecom, Retail, Financial Services, Logistics and Independent Software Vendors (ISV)

Related Local Events
BIO - International Convention and Exhibition for Biotechnology
Dates: 5/2/2010 - 5/5/2010
Location: McCormick Place
Chicago, IL
View Details

PTXi - Process Technology Expo International
Dates: 5/4/2010 - 5/6/2010
Location: Donald E. Stephens Convention Center
Rosemont, IL
View Details

Virtualization / Consolidation Strategies - Implementation Strategies
Dates: 12/10/2009 - 12/10/2009
Location: The Donald E. Stephens Convention Center
Rosemont, IL
View Details

The CIO Agenda - 2010 and Beyond
Dates: 11/5/2009 - 11/5/2009
Location: The Donald E. Stephens Convention Center
Rosemont, IL
View Details

SuperComm
Dates: 10/21/2009 - 10/23/2009
Location: McCormick Place, Chicago
Chicago, IL
View Details

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