现在在CMaindlg对话框中添加一个菜单,菜单项的响应函数CloadConfig::OnLoad()里想获取CMaindlg对话框的子窗口CChilddlg指针,从而修改子窗口上编辑矿的内容,
在CloadConfig类中定义了CChilddlg m_child;
在OnLoad()
{
   
   CEdit * pEdit;
   pEdit = m_child.GetDlgItem(nID);
   pEdit->SetWindow(nID);
   
}
这么写会报错,是不是不能这样写?那应该使用什么函数呢?

解决方案 »

  1.   

    用CChilddlg指针   CEdit * pEdit;
       pEdit =m**->GetDlgItem(nID);
       pEdit->SetWindow(nID);
      

  2.   

    为什么不能定义CChilddlg类对象呢?我在CMaindlg想修改CChilddlg的编辑矿内容,就在CMaindlg里定义了CChilddlg对象,直接使用就可以了,是因为CChilddlg是CMaindlg的自窗口么?在其他类里面不能这么使用么?
      

  3.   

    用AfxGetApp()得到系统程序指针,然后用 -> 得到程序中包含的窗口指针
      

  4.   

    在CloadConfig类中定义了CChilddlg m_child;
    在OnLoad()
    {
       
       CEdit * pEdit;
       pEdit = m_child.GetDlgItem(nID);
       pEdit->SetWindow(nID);
       
    }
    你的原程序如上,你这样写的话,我大体的感觉应该是溢出,你在CloadConfig类中定义了CChilddlg m_child,你应该做初始化,也就是对指针赋值。
      

  5.   

    楼上的,是溢出了,赋NULL值么?还是什么别的。