得出来的数据可以进行记录并可以读取,在线等,傻瓜一个,求详细教程
记录和读取,是指在程序内部,还是关闭程序依然有效?
后者的话,可以采用注册表、INI文件、文本文件记录等方法。推荐使用INI文件,具体代码可以百度GetPrivateProfileInt WritePrivateProfileInt函数,示例代码很多,就不复制粘贴了。
前者的话,涉及程序结构和窗口关系。不过通常可以存储在APP类成员变量中,并通过AfxGetApp()函数来访问。追问
if(IDOK==dlg.DoModal())
{
m_Watt = dlg.Watt;//前一个是调用类成员变量,后一个是对话框成员变量。
}追问
{
UpdateData(TRUE);
CxxxxxDlg dlg;//这个就是你要弹出的窗口,需要在当前代码首部的include的末尾加上对应的头文件包含
dlg.m_Watt = m_edit2;//前一个是自定义的成员变量,后一个是当前对话框的控件成员变量
if(IDOK==dlg.DoModal())
{
}
}
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_edit1 = m_Watt;
return FALSE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
后者的话,可以采用注册表、INI文件、文本文件记录等方法。推荐使用INI文件,具体代码可以百度GetPrivateProfileInt WritePrivateProfileInt函数,示例代码很多,就不复制粘贴了。
前者的话,涉及程序结构和窗口关系。不过通常可以存储在APP类成员变量中,并通过AfxGetApp()函数来访问。追问
就是我输入电流电压值并计算出来功率,这三个值可以进行记录,然后存到某个地方,在另外一个窗口中可以查看,这样的功能
追答在另一个窗口查看?窗口关系是什么。
如果是模态对话框调用并返回,那么在弹出输入对话框的OnOK里面,通过类成员变量记录数值,并在调用窗口的调用DoModal的地方,接收返值即可。
例:(OnOK略了,这个根据自己需要来写)
CxxxxxDlg dlg;if(IDOK==dlg.DoModal())
{
m_Watt = dlg.Watt;//前一个是调用类成员变量,后一个是对话框成员变量。
}追问
什么是模态对话框啊,其实很基本的编程,只是希望有个地方存储而且读取就行了,觉得文本文件就可以来着。。。是直接在按钮里面编写函数是不是就可以了啊
追答当然是很简单的编程,上面的代码和说明也很基础啊。
程序内的数据交互,不推荐使用文件存储,应该通过窗口关系和消息完成数据的传递和读取。
OnOK按钮里面记录,调用处读取。DoModal调用的就是模态对话框。
想更细致的向你提问,因为mfc基本是傻瓜,不太明白你说的意思。。。因为我们的mfc马上结课,所以才需要这么急迫的解决,我们老师就没有讲什么=。=
我们在一个窗口里面设定输入电流电压并计算出功率,想是在另外一个新窗口里查看曾经输入的数字和计算结果,就是想实现这样的功能。
你说的是指在一个窗口里实现吗,专业术语无能啊、、、、
话说和你私信可否,或者把我做的图片发给你。。。。
哦,反过来的啊。
在主窗口的按钮响应函数中:
void CDialog1::OnButton1(){
UpdateData(TRUE);
CxxxxxDlg dlg;//这个就是你要弹出的窗口,需要在当前代码首部的include的末尾加上对应的头文件包含
dlg.m_Watt = m_edit2;//前一个是自定义的成员变量,后一个是当前对话框的控件成员变量
if(IDOK==dlg.DoModal())
{
}
}
在弹出窗口(对话框)中添加自定义成员变量(在类视图上右键添加),然后在弹出对话框的OnInitDialog函数,中,对控件变量赋值即可:
BOOL CxxxxDialog::OnInitDialog(){
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_edit1 = m_Watt;
return FALSE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
认真看我的回答,相信你一定可以搞定。
温馨提示:答案为网友推荐,仅供参考