同意这种方法,还有一种方法:就是B中重载下构造函数,调用B的时候先,A *b;b = new B(&X);将A中所选的值传进去,之后再初始化对话框的时候判断,并且AddString设置数据。
重载构造函数有点不太熟 能给个具体点的么 以下是原有的构造函数: dlg::dlg(CWnd* pParent /*=NULL*/) : CDialog(dlg::IDD, pParent) { //{{AFX_DATA_INIT(dlg) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT } 想传个整形变量就可以了
我觉得重新写一下构造函数,根据传入的参数来初始化比较好。 先给你的对话框类加一个成员变量用来接收传入的参数,比如定义为:int m_a; 构造函数写成: dlg::dlg(int a,CWnd* pParent) : CDialog(dlg::IDD, pParent) { //{{AFX_DATA_INIT(dlg) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT m_a=a; } 在主对话框调用时可以这样写:dlg d(m,this);其中m是A对话框传入的控件参数。 在dlg类中可以根据传入的m_a进行初始化工作
dlg::dlg(int *a,CWnd* pParent /*=NULL*/) : CDialog(dlg::IDD, pParent) { //{{AFX_DATA_INIT(dlg) // NOTE: the ClassWizard will add member initialization here b = a; //}}AFX_DATA_INIT }在头文件中相应的在构造函数中加入这个int *a 。然后定义一个public 变量 int *b; 然后直接对b进行操作就可以了。
同意这种方法,还有一种方法:就是B中重载下构造函数,调用B的时候先,A *b;b = new B(&X);将A中所选的值传进去,之后再初始化对话框的时候判断,并且AddString设置数据。
dlg::dlg(CWnd* pParent /*=NULL*/)
: CDialog(dlg::IDD, pParent)
{
//{{AFX_DATA_INIT(dlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
想传个整形变量就可以了
先给你的对话框类加一个成员变量用来接收传入的参数,比如定义为:int m_a;
构造函数写成:
dlg::dlg(int a,CWnd* pParent)
: CDialog(dlg::IDD, pParent)
{
//{{AFX_DATA_INIT(dlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
m_a=a;
}
在主对话框调用时可以这样写:dlg d(m,this);其中m是A对话框传入的控件参数。
在dlg类中可以根据传入的m_a进行初始化工作
: CDialog(dlg::IDD, pParent)
{
//{{AFX_DATA_INIT(dlg)
// NOTE: the ClassWizard will add member initialization here
b = a;
//}}AFX_DATA_INIT
}在头文件中相应的在构造函数中加入这个int *a 。然后定义一个public 变量 int *b;
然后直接对b进行操作就可以了。