不同类间的变量如何相互赋值 我正在试做一个如windows自带的科学计算器,建立了两个对话框类,CMy8023Dlg和TJ,就是一个计算器对话框和一个统计框。点击计算器框中的STA键即可弹出统计框。 我怎么能把CM8023Dlg中的一个变量m_result付给TJ中的某个变量(如m_n与m_result是统一类型)呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个不难吧,还是类的概念你没有理解透而已!!我刚学的时候也遇到这样的问题这样就可以TJ.XXX=CM8023Dlg.m_result 既然是CMy8023Dlg中生成TJ,把m_n定义为public,直接tj.m_n=cmy8023dlg.m_result就可以了。也可以在tj中定义一个函数来赋值。 TJ.XXX=m_result之后再显示TJ对话框 可以通过发消息来实现。如果统计对话框是个模态对话框,那可以在统计对话框domodal前把变量传入然后显示例子如下:CDlg1::OnButton1(){ CDlg2 dlg; dlg.m_str = "你好"; dlg.m_bJudge = TRUE; dlg.DoModal();}//Dlg2.hpublic: CString m_str; BOOL m_bJudge;//Dlg2.cppCDlg2::OnInitDialog(){ if(m_bJudge) GetDlgItem(IDC_EDIT2)->SetWindowText(m_str);} 可以通过发消息来实现。如果统计对话框是个模态对话框,那可以在统计对话框domodal前把变量传入然后显示例子如下:CDlg1::OnButton1(){ CDlg2 dlg; dlg.m_str = "你好"; dlg.m_bJudge = TRUE; dlg.DoModal();}//Dlg2.hpublic: CString m_str; BOOL m_bJudge;//Dlg2.cppCDlg2::OnInitDialog(){ if(m_bJudge) GetDlgItem(IDC_EDIT2)->SetWindowText(m_str);} 将m_n声明成TJ的公有变量,就可以通过TJ对象访问m_n了CMy8023Dlg::OnButton(){ TJ dlg; dlg.m_n = m_result; dlg.DoModal();} windowsXP与windows2000上监听listen问题 ◇◆◇ 我来散10分,第五个人进来后结贴 ◇◆◇ 关于BP神经网络+图象识别,来者有分 拆分窗口的最大化显示问题 请教:不在OnMouseMove()中,如何得到鼠标位置 如何关闭doc_view程序? 高分求助:让CRichEditCtrl每一行的背景色都不同(根据文本的特殊标志),不知道如何做???? 关于动态库调用的问题 工具栏的问题? 用OpenCv的Haar分类器检测图像后怎么画ROC曲线 vc开发activeX控件时怎样插入另一个ActiveX控件??? 关于CHtmlView打开页面的问题-重分感谢,可给500分
这样就可以
TJ.XXX=CM8023Dlg.m_result
也可以在tj中定义一个函数来赋值。
之后再显示TJ对话框
然后显示例子如下:
CDlg1::OnButton1()
{
CDlg2 dlg;
dlg.m_str = "你好";
dlg.m_bJudge = TRUE;
dlg.DoModal();
}//Dlg2.h
public:
CString m_str;
BOOL m_bJudge;
//Dlg2.cpp
CDlg2::OnInitDialog()
{
if(m_bJudge)
GetDlgItem(IDC_EDIT2)->SetWindowText(m_str);
}
然后显示例子如下:
CDlg1::OnButton1()
{
CDlg2 dlg;
dlg.m_str = "你好";
dlg.m_bJudge = TRUE;
dlg.DoModal();
}//Dlg2.h
public:
CString m_str;
BOOL m_bJudge;
//Dlg2.cpp
CDlg2::OnInitDialog()
{
if(m_bJudge)
GetDlgItem(IDC_EDIT2)->SetWindowText(m_str);
}
CMy8023Dlg::OnButton()
{
TJ dlg;
dlg.m_n = m_result;
dlg.DoModal();
}