按钮禁用求解
// 写入数据
void CAccessDlg::OnBnClickedBtnWrite()
{
// 禁用写数据按钮
GetDlgItem(IDC_BTN_WRITE)->EnableWindow(FALSE);
// 比较耗时的向某存储器写入数据的过程
// 恢复写数据按钮
GetDlgItem(IDC_BTN_WRITE)->EnableWindow(TRUE);
}
VC/MFC 对话框程序
上面是一个按钮的单击响应函数,由于函数中间的写入操作很费时间。所以想防止用户连续单击很多次。
我的想法是,用户点击一下按钮,然后先禁用该按钮,待写入操作完成,按钮单击响应函数结束之前,再恢复它。
代码如上。
但是这样有问题,界面上看起来,并没有禁用该按钮。我想可能是因为EnableWindow(FALSE);也是通过给该按钮窗口发送消息的方式禁用它。而这个过程完成的比较慢,可能按钮刚要响应这个消息的时候,后面的EnableWindow(TRUE);便执行了。
不知道是不是这样。
请VC板块的朋友们指点一下该怎么办。谢谢。