把c的指针作为参数传给f的构造函数,作为f的Parent

解决方案 »

  1.   

    我想你没有说清楚,你是想在那个对话框的类里面得到c的指针?如果是在f对应的类里面,那很简单,GetParent(),
    在c里面就不用说了:this
    在a和d里面,那也好办,为a添加一个成员,假设c对应的类名是CChildDlg
    则此成员可这样定义: CChildDlg* m_pChildDlg;
    在生成c对话框时,给此指针赋值。然后就能找到它了。
    在a中,就是m_pChildDlg, 在d中就用GetParent()->m_pChildDlg了。
      

  2.   

    对不起happylaodu,我是想在对话框f的类里面得到c的指针,照您说的在fDialog.cpp中加入
    cdialog *pDlg = (cdialog*)GetParent
    pDlg->(按扭成员).enable(FLSE);
    语句编译是通过了,但提示非法操作.不知是什么原因
    FBStudio朋友说把c的指针作为参数传给f的构造函数,作为f的Parent,但不知把参数怎样传给f的构造函数
      

  3.   

    我想你是想控制一个控件的状态,对吧!这样写吧!
    CDialog* pDlg =  (CDialog *)GetParent();
    (pDlg->GetDlgItem(控件的ID))->EnableWindow(false);看看csdn上的资料,
    BOOL Create( LPCTSTR lpszTemplateName, CWnd* pParentWnd = NULL );
    BOOL Create( UINT nIDTemplate, CWnd* pParentWnd = NULL );
    这是对画框的create函数,后面一个参数可已传入parent指针
    如果你是在resource view中用鼠标画上的,不用管了,你画在那个dialog上面,那个dialog就是parent窗口
      

  4.   

    谢谢Kerrie的回复,我的问题解决了