MFC中如何分别给两个子对话框设置定时器
如题,麻烦具体点,就是在那个文件写什么代码,settimer、ontimer写在父对话框的Dlg.cpp里还是哪里,谢谢...
如题,麻烦具体点,就是在那个文件写什么代码,settimer、ontimer写在父对话框的Dlg.cpp里还是哪里,谢谢
展开
展开全部
OnTimer()函数是定时器的执行函数。如果要给两个子对话框不同的计时器,该函数写在父对话框中也是可以的,不过操作子对话框中的控件要先得到此子对话框的句柄。在OnTimer()中可以用不同的ID来区分子对话框,并且使用SetTimer()来开始计时
SetTimer(1,1000,NULL);//对第一个子对话框计时
SetTimer(2,500,NULL);
void CXXDlg::OnTimer(UINT nIDEvent)
{
if(nIDEvent==1)//第一个子对话框这里对应到SetTimer的第一个参数
{
....对第一个子对话框的操作
}
if(nIDEvent==2)
{
......对第二个子对话框的操作
}
}
SetTimer(1,1000,NULL);//对第一个子对话框计时
SetTimer(2,500,NULL);
void CXXDlg::OnTimer(UINT nIDEvent)
{
if(nIDEvent==1)//第一个子对话框这里对应到SetTimer的第一个参数
{
....对第一个子对话框的操作
}
if(nIDEvent==2)
{
......对第二个子对话框的操作
}
}
追问
“不过操作子对话框中的控件要先得到此子对话框的句柄”是什么意思,能讲清楚些么,谢谢
追答
在父对话框中操作子对话框,要先获得子对话框的指针。当然,你在创建该子对话框时就已经有了。如下例子的m_dlg
CDialog1 *m_dlg;
m_dlg=new CDialog1;
m_dlg->Create(IDD_DIALOG1,this);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询