各位大侠,小弟初学mfc,至于活动窗口,我是直接响应 OnActivate消息,基本功能是实现了,但发觉不是很好,毕竟在我程序里没判断窗口是否顶层,主要是判断的代码加在哪里!就想问下有没有更好的方法!mfc,活动窗口,自动关闭

解决方案 »

  1.   

     一个程序打开有有两三个子窗口如A,B,C窗口,可能在不同窗口之间切换, 现在想要知道,某一个A窗口是否处于所有窗口的最顶层窗口,如果不是,就触发一个事件,让其30秒后自动关闭,否则,不触发事件。
      如何来弄呢?大神们
      

  2.   

    响应 WM_KILLFOCUS,失去焦点后开始计时
    如果在30秒内没有获得焦点(响应 WM_SETFOCUS)则关闭窗口
      

  3.   

    谢谢,我想问下,这响应消息是加在哪呢?就像我开始加的那个WM_Activate消息只是加在A类中,可B类C类就无法响应这消息了,如果又在B,C中添加WM_Activate消息,又显得有点累赘!
      

  4.   

    你可以自己写一个父类,父类里面处理 WM_ACTIVATE、WM_KILLFOCUS、WM_SETFOCUS 消息
    而 A、B、C 这3个类就继承这个父类