主子对话框与定时器问题
子对话框中设置定时器
BOOL CDialogStart::OnInitDialog()
{ SetTimer(0,400,NULL); }
主对话框调用
BOOL MainFrApp::InitInstance()
{
CDialogStart* startDlg=new CDialogStart;
startDlg->Create(CDialogStart::IDD);
startDlg->ShowWindow(SW_SHOW);
startDlg->UpdateWindow();
。。。。。。
pMainFrame-> ShowWindow(m_nCmdShow);//主对话框
pMainFrame-> UpdateWindow();
}
startDlg的定时器只有在BOOL MainFrApp::InitInstance()这个函数执行完之后才起作用,请问怎么能解决这个问题,我想让 startDlg对话框在 startDlg->UpdateWindow();时立刻起作用。
[解决办法]
自己在CDialogStart对话框中写个函数
BOOL CDialogStart::StartMyTimer()
{
SetTimer(0,400,NULL);
}
然后在
pMainFrame-> UpdateWindow();
startDlg->StartMyTimer(); //注意,你这个定时器只是开始计时而已,还要经过400毫秒才触发OnTimer的函数