VC中在子类中定义Ontimer函数为什么还要调用基类的Ontimer函数??

void CDlg044Dlg::OnTimer(UINT nIDEvent)
{
CDialog::OnTimer(nIDEvent);
m_progCtr.StepIt ();
if(m_progCtr.GetPos() ==m_nSecond)
{
KillTimer(1);
SendMessage(WM_CLOSE);
}
}

第1个回答  2012-11-22
因为在子类中覆盖了基类的Ontimer函数 这时如果再想完成基类Ontimer函数的功能时就要显示调用追问

可是我在子类的Ontimer函数中只需要用我定义的语句功能就可以了,难道还要需要其他的功能吗?

追答

如果你不需要使用基类功能就可以把它注释掉
CDialog::OnTimer(nIDEvent);这句就相当于调用基类的一个函数
当你不需要时完全可以不用写

本回答被提问者采纳
第2个回答  2012-12-02
如果实际的类向导(按Ctrl + W)直接添加类向导给你这些额外的代码,如果这位老将也可以手动添加的OnTimer一个消息响应函数,这意味着,你必须添加连接的消息,本回答被网友采纳
第3个回答  2012-11-21
一些基本的功能在基类里面追问

能举例详细说一下吗?自己刚刚自学,不明白,恳请指点