急求,MFC怎么用定时器实现一个button一会可按一会不可按,交替出现。
2个回答
展开全部
GetDlgItem(“按钮ID”)->EnableWindow(FALSE);//不可按
GetDlgItem(“按钮ID”)->EnableWindow(TRUE);//可按
将上面的语句放在OnTimer(UINT_PTR nIDEvent);消息响应函数下 然后利用你需要控制的条件来进行判断: 比如int i;
if(i>100)
{GetDlgItem(“按钮ID”)->EnableWindow(FALSE);//不可按}
else
GetDlgItem(“按钮ID”)->EnableWindow(TRUE);//可按
GetDlgItem(“按钮ID”)->EnableWindow(TRUE);//可按
将上面的语句放在OnTimer(UINT_PTR nIDEvent);消息响应函数下 然后利用你需要控制的条件来进行判断: 比如int i;
if(i>100)
{GetDlgItem(“按钮ID”)->EnableWindow(FALSE);//不可按}
else
GetDlgItem(“按钮ID”)->EnableWindow(TRUE);//可按
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在你这个button所在的对话框(假设是CMyDlg)类里定义个变量BOOL m_bEnable,在构造函数里初始化它: m_bEnable= TRUE;
给对话框加OnInitDialog函数 和OnTimer(消息)函数,在OnInitDialog函数中写上SetTimer(1,2000,NULL);
在OnTimer里写上
if(nIDEvent == 1)
{
m_bEnable = !m_bEnable;
GetDlgItem(ID_YOUR_BUTTON_ID)->EnableWindow(m_bEnable);
UpdateData(FALSE);
}
然后在对话框关闭的时候KillTimer(1);
给对话框加OnInitDialog函数 和OnTimer(消息)函数,在OnInitDialog函数中写上SetTimer(1,2000,NULL);
在OnTimer里写上
if(nIDEvent == 1)
{
m_bEnable = !m_bEnable;
GetDlgItem(ID_YOUR_BUTTON_ID)->EnableWindow(m_bEnable);
UpdateData(FALSE);
}
然后在对话框关闭的时候KillTimer(1);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询