一个简单的有关问题,为什么在OnBnClickedButton中使用EnableWindow(FALSE)不显示

一个简单的问题,为什么在OnBnClickedButton中使用EnableWindow(FALSE)不显示?
void CCheckButtonDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
GetDlgItem(IDC_BUTTON1)->EnableWindow(FALSE);
m_myEdit=++i;
Sleep(1000);
UpdateData(FALSE);
GetDlgItem(IDC_BUTTON1)->EnableWindow(TRUE);
}
这是一个基于对话框的项目。
i是一个int全局变量,初始值为0. m_myEdit是一个int类型editControl.
我的小程序的目的就是点击一下按钮,编辑框里的数字就加1.
我想通过GetDlgItem(IDC_BUTTON1)->EnableWindow()来改变按钮是否可用。
但是,在第一次点击的时候,一切正常,按钮在变灰一秒后,又恢复可以点击了。但是以后再按,它就不会变灰,而是整个对话框都被占用了(关闭等按钮都无反应),程序仍能达到效果,但是为什么它不会每次都变灰呢?
MFC 对话框, 按钮,enablewindow

------解决方案--------------------
“点一次按钮,就变灰一秒”同时定时器打开,OnTimer 来时 按钮使能,KillTimer。。。
------解决方案--------------------
引用:
引用:你这个效果用Timer去做。
我现在的要求是点一次按钮,就变灰一秒,然后可以继续点,用timer不是变成自动的了么?
这用定时器不是最合理了么,点按钮变灰,启动定时器,1秒后按钮还原。