我在cmainfrm里create了一个窗口,然后我想在某个类中得到这个窗口的指针怎吗办?我用CAlarmWnd* alarmWnd = pMainFrame->GetDlgItem(IDD_ALARM_WND);没有语法错误,但是总说错误的句柄,我想得到那个指针怎吗办?

解决方案 »

  1.   

    CAlarmWnd* alarmWnd = (CAlarmWnd*)pMainFrame->GetDlgItem(IDD_ALARM_WND);
      

  2.   

    在你调用的地方,你先要确定那个窗口已经创建,你窗口如何创建的?GetDlgItem(IDD_ALARM_WND);这种只是获取控件窗口,还以为你IDD_ALAM_WND只是一个控件
      

  3.   

    pMainFrame不是dialog
    如果你确定这个窗口的指针在pMainFrame
    那么你可以自己做个函数把目标窗口的指针返回来
      

  4.   

    成员变量
    class FramWnd{
    private:
    MyWnd *pWnd
    ...
    };
      

  5.   

    可以修改你使用这个窗口类A指针的类B的构造函数,在主窗口中创建B时候传递A的指针