我进入模式对话框就主线程就不能处理消息,为什么主窗口还能处理WM_TIMER消息? 还有我改变主窗口标题文字也可以,谁来解释下

解决方案 »

  1.   

    进入模态对话后,模态对话框有自己的消息循环,同时EnableWindow(FALSE)父窗口,导致父窗口的某些消息不能响应。Debug下你F11进代码自己看看
      

  2.   

    关键字 timer 伪多线程
      

  3.   

    是否可以这样理解,模态对话框,仅仅只是屏蔽了父窗口的鼠标和键盘等消息的响应,而SETTIMER是由WINDOWS根据CPU的时钟频率触发的消息响应,处于windows API层的。当这个消息被触发后,ONTIMER函数依然可以执行,
    也就是说,当主窗口开启一模态对话框,程序仅是为了让这个模态对话框保持在主窗口的前面,所以,不去处理鼠标点击主窗口的消息响应,而主窗口并未被完全挂起,仍然处理其内部的消息响应,如编写一个线程,主窗口弹出一模态对话框后,让线程执行POStMESSAGE(),主窗口仍会处理,比如在主线程接收这消息后弹出一MESSAGEBOX()
    没分了,顺口胡诌几句,希望蒙对了~~~