按钮状态由复选框控制

时间:2010-11-16 21:58:37

标签: user-interface mfc

我有一个带有复选框和按钮的对话框。我想根据复选框的状态启用/禁用按钮。 我尝试使用ON_UPDATE_COMMAND_UI:

实现此目的
...
DDX_Check(pDX, IDC_CHECK1, bFlag);
...
ON_UPDATE_COMMAND_UI(IDC_BUTTON1, OnUpdateButton1)
...
void ColorDialog::OnUpdateButton1(CCmdUI* pCmdUI)
{
    pCmdUI->Enable(bFlag);
}

但没有任何反应。选中/取消选中复选框对按钮没有任何影响。
我在这里做错了什么?

2 个答案:

答案 0 :(得分:1)

ON_UPDATE_COMMAND_UI仅与菜单项和工具栏按钮相关。您必须在邮件地图中添加ON_BN_CLICKED。

答案 1 :(得分:0)

为复选框点击添加一个事件处理程序,您可以在其中调用

UpdateData(TRUE);
pButton->EnableWindow(bFlag);

这应该可以解决问题。