为什么创建了子窗口之后,主窗口的定时器响应不了。如题,有什么解决方案没?主窗口中创建另外一个对话框,并且
为什么创建了子窗口之后,主窗口的定时器响应不了。
如题,有什么解决方案没?
主窗口中创建另外一个对话框,并且启动主窗口类的定时器,为什么不能响应。哪位大侠提供一下解决方案。在线等。
[最优解释]
代码demo发来给你调下:liqisong611@hotmail.com
[其他解释]
估计与你的SubMonitorDialog 有关,是不是它阻塞了消息循环?
[其他解释]
[其他解释]怎么会呢,你代码怎么写的?
[其他解释]SubMonitorDialog m_WndMonitor;
void CServerTestDlg::OnOk2()
{
m_WndMonitor.Create(IDD_SUBMONITOR );
m_WndMonitor.SetWindowPos(NULL, 0, 0, 500, 500, SWP_NOZORDER);
m_WndMonitor.ShowWindow(SW_SHOW);
SetTimer(0,400,NULL);
}
如果不创建窗口则可以响应定时器超时消息,创建了窗口后定时器起不了。谢谢hurryboylqs
[其他解释]void CServerTestDlg::OnOk2()
{
m_WndMonitor.Create(IDD_SUBMONITOR );
m_WndMonitor.SetWindowPos(NULL, 0, 0, 500, 500, SWP_NOZORDER);
m_WndMonitor.ShowWindow(SW_SHOW);
SetFocus();//就是加个获取焦点的函数试试,让主窗口获取焦点
SetTimer(0,400,NULL);
}
[其他解释]我这里试了不行,还有没有其他方法?谢谢hdg3707
[其他解释]SetTimer(0,400,NULL); 第一个参数不要用0,用1或以上的
[其他解释]改了定时器ID没有效果,不知道还有其他方法可以尝试吗?谢谢hurryboylqs
[其他解释]多谢hurryboylqs ,我貌似找到问题所在了。
例子中的SubMonitorDialog m_WndMonitor; 子窗口对象,我定义的是全局的对象,如果放到主窗口类,成为他的成员变量后就行了。
不知道这个如何解释,我现在放到成员变量里就可以了。