MFC中两个对话框类怎样互相访问修改对方的成员变量 20
MFC中,我有两个类CmarkcheckviewLogin现在想在Cmarkcheckview类中的成员函数Onbutton里,访问并修改Login类的成员变量statu...
MFC中,我有两个类 Cmarkcheckview Login
现在想在Cmarkcheckview类中的成员函数Onbutton里,访问并修改Login类的成员变量status。
我已经试了一种方法,在Login类的cpp中声明Login * login; 并且在初始化函数里
BOOL Login::OnInitDialog()
{CDialog::OnInitDialog();
login=this;
}
最后在 Cmarkcheckview类的cpp中 声明extern Login * login;
在调用Onbutton时 , login->status=1;
以上方法不知怎么总是不能对status进行修改
请高人帮忙,万分感谢!!! 展开
现在想在Cmarkcheckview类中的成员函数Onbutton里,访问并修改Login类的成员变量status。
我已经试了一种方法,在Login类的cpp中声明Login * login; 并且在初始化函数里
BOOL Login::OnInitDialog()
{CDialog::OnInitDialog();
login=this;
}
最后在 Cmarkcheckview类的cpp中 声明extern Login * login;
在调用Onbutton时 , login->status=1;
以上方法不知怎么总是不能对status进行修改
请高人帮忙,万分感谢!!! 展开
3个回答
展开全部
在dlg1中打开dlg2,dlg2能修改dlg1中的成员变量
//dlg1.cpp
#include”dlg2.h”
CDlg1::OnButton()
{
CDlg2 dlg2;
dlg2.m_pDlg1=this;
dlg2.DoModal();
}
//dlg2.h
Class CDlg1;//添加dlg1类的声明
Class CDlg2::Public CDialog
{
Public:
CDlg1 *m_pDlg1;
}
//dlg2.cpp
#include”dlg1.h”
至此,你可以在dlg2.cpp中通过m_pDlg1操作CDlg1类中的成员变量
//dlg1.cpp
#include”dlg2.h”
CDlg1::OnButton()
{
CDlg2 dlg2;
dlg2.m_pDlg1=this;
dlg2.DoModal();
}
//dlg2.h
Class CDlg1;//添加dlg1类的声明
Class CDlg2::Public CDialog
{
Public:
CDlg1 *m_pDlg1;
}
//dlg2.cpp
#include”dlg1.h”
至此,你可以在dlg2.cpp中通过m_pDlg1操作CDlg1类中的成员变量
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Login类的成员变量status声明成Public
在Cmarkcheckview类中声明一个Login * login;
class Cmarkcheckview
{
Login * login;
}
在适当的位置给其赋值
然后就随便用吧
在Cmarkcheckview类中声明一个Login * login;
class Cmarkcheckview
{
Login * login;
}
在适当的位置给其赋值
然后就随便用吧
追问
适当的位置是哪里?
初始化函数吗?
初始化函数在哪里?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在BOOL Login::OnInitDialog()
{CDialog::OnInitDialog();
login=this;
}
中调用函数获取Cmarkcheckview类的指针,再通过指针对Cmarkcheckview里的login=this;
{CDialog::OnInitDialog();
login=this;
}
中调用函数获取Cmarkcheckview类的指针,再通过指针对Cmarkcheckview里的login=this;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询