如何暂停关闭按钮功能一段时间?
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 语句中 = 和 == 之间的区别。
我正在尝试找到一种方法来禁用我想要的“关闭”按钮的功能。通过使用 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 语句中 = 和 == 之间的区别。