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进行修改

请高人帮忙,万分感谢!!!
展开
 我来答
mapfyy
2012-06-06 · 超过11用户采纳过TA的回答
知道答主
回答量:51
采纳率:0%
帮助的人:32.5万
展开全部
在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类中的成员变量
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
idiszerg
2012-06-06 · TA获得超过231个赞
知道答主
回答量:226
采纳率:0%
帮助的人:222万
展开全部
Login类的成员变量status声明成Public
在Cmarkcheckview类中声明一个Login * login;
class Cmarkcheckview
{
Login * login;
}
在适当的位置给其赋值

然后就随便用吧
追问
适当的位置是哪里?
初始化函数吗?
初始化函数在哪里?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
592bd
2012-06-10
知道答主
回答量:6
采纳率:100%
帮助的人:9084
展开全部
在BOOL Login::OnInitDialog()
{CDialog::OnInitDialog();
login=this;
}
中调用函数获取Cmarkcheckview类的指针,再通过指针对Cmarkcheckview里的login=this;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式