本人想给对话框传递一参数(位图指针)便于在该对话框中显示出来,可在构造函数CDlgAftReg(CWnd* pParent = NULL)中加入所需参数后
CDlgAftReg(CWnd* pParent ,CDib* pDibShow ),在工作区的ClassView中就看不到
对话框CDlgAftReg的构造函数了.强行加上也编译通不过.我看过其他的程序中用过此方法传递参数啊,请教各位怎么办啊?或有其他的方法使得参数CDib* pDibShow传递给对话框吗??救命的啊!!!

解决方案 »

  1.   

    CDlgAftReg(CDib* pDibShow, CWnd* pParent )假如是重载的构造函数,在CPP文件中,ClassWizard生成的那个默认构造函数下的部分
    //{{AFX_DATA_INIT(CDlgAftReg)
    //}}AFX_DATA_INIT
    只能存在于一个函数中或者在对话框声明一个public型的CDib*,直接赋值就是了。
      

  2.   

    int DialogBoxParam(
      HINSTANCE hInstance,  // handle to application instance
      LPCTSTR lpTemplateName,  // identifies dialog box template
      HWND hWndParent,      // handle to owner window
      DLGPROC lpDialogFunc, // pointer to dialog box procedure
      LPARAM dwInitParam    // initialization value参数
    );
      

  3.   

    CDlgAftReg(CWnd* pParent = NULL, CDib* pDibShow = NULL)
    给你多添加的参数一个默认值你的构造函数的形式应该是这样
    CDlgAftReg::CDlgAftReg(CWnd* pParent, CDib* pDibShow )
    : CDialog(CDlgAftReg::IDD, pParent)
    {
    //{{AFX_DATA_INIT(CDlgAftReg)
    //}}AFX_DATA_INIT

    }