我在子窗口调用自己的控件是没有问题,但在一个主窗口调用一个子窗口的控件,会出现找不到控件的问题,怎样解决? 
CWnd* pWnd = GetDlgItem(IDC_THUITU1);
ASSERT_VALID(pWnd);
或去不到控件句柄。

解决方案 »

  1.   

    CWnd* pWnd = m_ChildDlg.GetDlgItem(IDC_THUITU1);//m_ChildDlg是子窗口类
      

  2.   

    CWnd* pWnd = GetDlgItem(IDC_THUITU1);
    这样调用实际是:CWnd* pWnd = this->GetDlgItem(IDC_THUITU1);
    调用的是主窗口的成员函数。
    你需要利用子窗口的对象来调用 GetDlgItem(IDC_THUITU1);
      

  3.   

    产生子窗口时,保存子窗口的pChldWnd
      

  4.   

    CWnd* pWnd = GetDlgItem(IDC_THUITU1);
    =====
    这个是调用代码所在类的成员GetDlgItem,你先要取得IDC_THUITU1所在对话框指针才行。