void CMfc03Dlg::OnDestroy() 
{
CDialog::OnDestroy();

//下面这两句,放在CDialog::OnDestroy();前面或放在CDialog::OnDestroy();后面,有什么区别?
hChild=::GetDlgItem(GetSafeHwnd(),IDC_EDIT_AGE);
SetWindowLong(hChild,GWL_WNDPROC,(LONG)oldArgProc);
}

解决方案 »

  1.   

    CDialog::OnDestroy();//Dialog销毁后你还可以处理么?
      

  2.   

    调用基类的OnDestroy()后对话框已经被Destroy了,你还能对这个对话框干什么?只能做一些与其无关的变量的操作了吧。
      

  3.   

    CDialog::OnDestory 后窗口句柄就不存在了,且 IDC_EDIT_AGE 在此之前也就被销毁了
    这时 CDialog::m_hWnd 就是一个无效值
    而 ::GetDlgItem() 取不到 IDC_EDIT_AGE 的内容了