在主对话框中通过 CTDialog t; t.DoMoal()显示一个子对话框,如果在这个对话框上100S内无用户鼠标移动和WM_LBUTTONUP,WM_LBUTTONDOWN消息,则该对话框自动隐藏,这样的功能怎么实现?

解决方案 »

  1.   

    思路:
    1、定义一个int类型的计数变量,设为m_iCount = 0;
    2、在WM_MOUSEMOVE、WM_LBUTTONUP、WM_LBUTTONDOWN等消息响应函数中,都将m_iCount设为0;
    3、设置一个定时器,1秒钟执行一次,每执行一次,m_iCount++;如果m_iCount >= 100,隐藏窗口、停止计时器、将m_iCount归零其实非常简单,自己多考虑考虑,:)
      

  2.   

    补充一点,设置定时器的语句(也就是SetTimer)放在 t 对话框的OnShowWindow()函数中比较合适,只要该窗口显示,就开始计数