INFO: CDialogBar Button Enabled When Command Handler Present

Article translations Article translations
Article ID: 98198 - View products that this article applies to.
This article was previously published under Q98198
This article has been archived. It is offered "as is" and will no longer be updated.
A button in a CDialogBar object is disabled automatically if the command routing does not contain a command handler function for the button.

To enable a button in a CDialogBar object, the command routing must include a command handler for the button. A button command handler can be an ON_BN_CLICKED(), ON_COMMAND(), or ON_COMMAND_UI() message handler and it must appear in the message map of an object in the command routing. If the parent of the CDialogBar object is a CFrameWnd object, then the command is handled by the active child window or view, by the document attached to the view, by the frame window, and by the application (CWinApp object).

NOTE: Because the CDialogBar object is not included in the routing scheme, the ON_BN_CLICKED() or ON_COMMAND() handler must be placed in one of the objects mentioned above that is in the routing scheme and not in the CDialogBar class.

For more information on command routing, see the "Command Routing" section in Chapter 3 of the "Class Library Reference" manual. In Visual C++ 32-bit Edition, version 4.0, see both the "Command Routing" topic of the "Programming with MFC: Overview" in the Books Online and the MFC Technical Note 31, Control Bars.
Expand all | Collapse all


Article ID: 98198 - Last Review: October 26, 2013 - Revision: 4.0
Applies to
  • Microsoft Foundation Class Library 4.2, when used with:
    • Microsoft Visual C++ 1.0 Professional Edition
    • Microsoft Visual C++ 1.52 Professional Edition
    • Microsoft Visual C++ 2.1
    • Microsoft Visual C++ 4.0 Standard Edition
kbnosurvey kbarchive kbarchitecture kbdlg kbinfo kbmfcctrlbar KB98198

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from