Help and Support
 

powered byLive Search

HOWTO: How To Disable Push Buttons on a DialogBar in MFC

Retired KB ArticleThis article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.
Article ID:152376
Last Review:November 21, 2006
Revision:3.1
This article was previously published under Q152376
On This Page

SUMMARY

Push-button controls on a DialogBar cannot be disabled by calling EnableWindow. The following code has no effect:
   GetDlgItem(IDC_BUTTON1)->EnableWindow(FALSE);
				
This article describes how to implement push-button controls that can be disabled.

Back to the top

MORE INFORMATION

Controls on a DialogBar behave like the bitmaps on a Toolbar. They can be enabled or disabled by manually adding an ON_UPDATE_COMMAND_UI within the message map of the appropriate class (such as CMainFrame).

Back to the top

Step-by-Step Example

After you have placed a control on your DialogBar, such as a push-button with a resource ID of IDC_BUTTON1, use the following steps to manage the state of the control:

1.Within the declaration of your class, add the declaration for a handler function:
   afx_msg void OnUpdateButton1(CCmdUI* pCmdUI);
						
2.Within the implementation of your class, add a manual entry in the message map:
   BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd)
       //{{AFX_MSG_MAP(CMainFrame)
       ...
       //}}AFX_MSG_MAP
       ON_UPDATE_COMMAND_UI(IDC_BUTTON1, OnUpdateButton1)
   END_MESSAGE_MAP()
						
3.Provide the definition of the handler function, as follows:
   void CMainFrame::OnUpdateButton1(CCmdUI* pCmdUI)
   {
       pCmdUI->Enable( TRUE );
   }

Back to the top


APPLIES TO
Microsoft Foundation Class Library 4.2, when used with:
  Microsoft Visual C++ 1.0 Professional Edition
  Microsoft Visual C++ 1.5 Professional Edition
  Microsoft Visual C++ 1.51
  Microsoft Visual C++ 1.52 Professional Edition
  Microsoft Visual C++ 1.0 Professional Edition
  Microsoft Visual C++ 2.0 Professional Edition
  Microsoft Visual C++ 2.1
  Microsoft Visual C++ 2.2
  Microsoft Visual C++ 4.0 Standard Edition
  Microsoft Visual C++ 4.1 Subscription

Back to the top

Keywords: 
kbdocview kbhowto kbmfcctrlbar kbuidesign KB152376

Back to the top

Article Translations

 

Other Support Options

  • Need More Help?
    Contact a Support professional by E-mail, Online or Phone.
  • Customer Service
    For non-technical assistance with product purchases, subscriptions, online services, events, training courses, corporate sales, piracy issues, and more.
  • Newsgroups
    Pose a question to other users. Discussion groups and Forums about specific Microsoft products, technologies, and services.