在线等,mfc基于对话框中,计算出来的数据进行历史记录
答案:1 悬赏:30 手机版
解决时间 2021-11-18 00:51
- 提问者网友:佞臣
- 2021-11-17 05:48
在线等,mfc基于对话框中,计算出来的数据进行历史记录
最佳答案
- 五星知识达人网友:長槍戰八方
- 2021-11-17 05:58
记录和读取,是指在程序内部,还是关闭程序依然有效?
后者的话,可以采用注册表、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
}认真看我的回答,相信你一定可以搞定。
后者的话,可以采用注册表、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
}认真看我的回答,相信你一定可以搞定。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯