如何暂停关闭按钮功能一段时间?

How to suspend a close button functionality for a while?

我正在尝试找到一种方法来禁用我想要的“关闭”按钮的功能。通过使用 MFC 库,首先我定义了一个对话框 window 和一个用于关闭对话框的按钮,代码如下:

void CMyDlg::OnBnClickedOk()
{

    // TODO: Add your control notification handler code here
        CDialog::OnOK();

    }

我尝试定义一个 bool 标志,其中包含两个 TRUE 和 FALSE 的统计数据,如下所示:

 void CMyDlg::OnBnClickedOk(bool Flag)
    {
        If(Flage == TRUE){
        // TODO: Add your control notification handler code here
            CDialog::OnOK();
    }
        }

在 Flage= TRUE 调用之后,该按钮起作用,而当此 Flage= FALSE 时,该按钮将被禁用,直到某个时间值。由于参数不兼容,编译器给出语法错误;

ON_BN_CLICKED(IDOK, &MyDlg::OnBnClickedOk(bool Flag))

对于启用和禁用此按钮,首先包含以下代码:

GetDlgItem(IDOK)->EnableWindow(TRUE);

效果很好,但此方法的问题是按钮上绘制的位图图像消失了

编辑:

在 .rc 文件中,按钮的代码行如下:

 PUSHBUTTON      "",IDOK,634,1,25,22,BS_BITMAP | BS_CENTER | BS_VCENTER
IDB_BITMAP1             BITMAP                  "D:\Project\Close.bmp"

您不能更改 OnBnClickedOK 函数的签名。调用它的 MFC 库代码没有添加额外参数的规定。

您还应该查看 if 语句中 = 和 == 之间的区别。