Article: Q152376
Product(s): Microsoft C Compiler
Version(s): winnt:1.0,2.0,2.1,2.2,4.0,4.1
Operating System(s):
Keyword(s): kbDocView kbMFC KbUIDesign kbVC kbGrpDSMFCATL kbMFCCtrlBar
Last Modified: 06-MAY-2001
-------------------------------------------------------------------------------
The information in this article applies to:
- The Microsoft Foundation Classes (MFC), used with:
- Microsoft Visual C++ for Windows, 16-bit edition, versions 1.0, 1.5, 1.51, 1.52, 1.52b, 1.52c
- Microsoft Visual C++, 32-bit Editions, versions 1.0, 2.0, 2.1, 2.2, 4.0, 4.1
-------------------------------------------------------------------------------
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.
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).
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 );
}
Additional query words: 1.00 1.50 1.51 1.52 2.00 2.10 2.20 4.00 4.10
======================================================================
Keywords : kbDocView kbMFC KbUIDesign kbVC kbGrpDSMFCATL kbMFCCtrlBar
Technology : kbAudDeveloper kbMFC
Version : winnt:1.0,2.0,2.1,2.2,4.0,4.1
Issue type : kbhowto
=============================================================================