用mfc编程,在按下一个a按钮后系统开始等待3秒,如果在三秒内按下另外一个b按钮则正常运行,否则弹出提示
,为了完成任务,需要再次按下a,然后同上。已经试过sleep函数,但是开始它的时候,按其他按钮不起作用,还有什么好的方法,比如settimer等,最好有事例,谢谢...
,为了完成任务,需要再次按下a,然后同上。 已经试过sleep函数,但是开始它的时候,按其他按钮不起作用,还有什么好的方法,比如settimer等,最好有事例,谢谢
展开
展开全部
Settimer(1000,3000,NULL);按下按钮a后启动一个id=1000 时间间隔为3000的定时器。让后在Ontimer()消息处理函数里判断b按钮是否按下(可以定义一个变量来标识是否按下过b按钮)
void Onteimer(UINT nIDEvent)
{ if(nIDEvent == 1000)
{
if(m_b按钮变量)//布尔值
{
//按下了b按钮
m_b按钮变量 = !m_b按钮变量;
}
else
{
//没有按下b按钮
}
}
}
void Onteimer(UINT nIDEvent)
{ if(nIDEvent == 1000)
{
if(m_b按钮变量)//布尔值
{
//按下了b按钮
m_b按钮变量 = !m_b按钮变量;
}
else
{
//没有按下b按钮
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
解决思路是这样的:
1、在窗口类中定义一个变量,用来标明是否按下了b按钮。
BOOL m_bFlag;
以及一个定时计数的变量,记录秒数
int m_nCount;
2、在响应b按钮点击消息的函数OnButtonB()中将m_bFlag设为TURE,表示b按钮被按下。
m_bFlag=TRUE;
3、在响应a按钮点击消息的函数OnButtonA()中设置定时器开始计时,步长为1000毫秒(即1秒)
SetTimer(1,1000);
4、在系统默认处理定时器消息的函数afx_msg void OnTimer( UINT nIDEvent )中判断是否时间达到了3秒钟,若是,则再判断是否按下了b按钮
m_nCount++;
if(m_nCount>3)
if(!m_bFlag)
MessageBox('弹出提示!');
1、在窗口类中定义一个变量,用来标明是否按下了b按钮。
BOOL m_bFlag;
以及一个定时计数的变量,记录秒数
int m_nCount;
2、在响应b按钮点击消息的函数OnButtonB()中将m_bFlag设为TURE,表示b按钮被按下。
m_bFlag=TRUE;
3、在响应a按钮点击消息的函数OnButtonA()中设置定时器开始计时,步长为1000毫秒(即1秒)
SetTimer(1,1000);
4、在系统默认处理定时器消息的函数afx_msg void OnTimer( UINT nIDEvent )中判断是否时间达到了3秒钟,若是,则再判断是否按下了b按钮
m_nCount++;
if(m_nCount>3)
if(!m_bFlag)
MessageBox('弹出提示!');
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询