你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

VS2012类的构造函数传参

[复制链接]
mantishell 提问时间:2016-7-6 12:03 /
本帖最后由 mantishell 于 2016-7-12 08:25 编辑

在使用mfc的单文档的菜单弹出的对话框时,有时候需要记录些信息,在编辑框内输入数据,点击确定后又变回了0,这时候怎么办呢?

例子:
一、建立工程名字叫Doc
在菜单栏里添加子菜单ID_VIEW_UPDATETIMER,并在CDocView类里添加OnViewUpdatetimer方法。
在DocView.h里添加
  1. #define VIEW_DEFAULT_INTERVAL                250
  2. #define VIEW_MIN_INTERVAL                        10
  3. #define VIEW_MAX_INTERVAL                        30000

  4. WORD m_wUpdateInterval;
复制代码



DocView.cpp
1.在CDocView构造函数里添加初始话

  1. CDocView::CDocView()
  2. {
  3.         // TODO: 在此处添加构造代码
  4.         m_wUpdateInterval = VIEW_DEFAULT_INTERVAL;
  5. }
复制代码
2、添加ID_VIEW_UPDATETIMER命令消息

  1. void CDocView::OnViewUpdatetimer()
  2. {
  3.     // TODO: 在此添加命令处理程序代码
  4.     CUpdateIntervalDlg dlg(m_wUpdateInterval);//传参,前一次打开对话框输入的数值
  5.     if (dlg.DoModal () == IDOK)
  6.     {
  7.         if (m_wUpdateInterval != (WORD) dlg.m_nInterval)
  8.         {
  9.             KillTimer (UPDATE_ITEMPANE_EVENT);
  10.             m_wUpdateInterval = (WORD) dlg.m_nInterval;//对话框上输入的数值
  11.             SetTimer (UPDATE_ITEMPANE_EVENT, m_wUpdateInterval, NULL);
  12.             }
  13.         }
  14. }
复制代码


UpdateIntervalDlg.cpp
3、关联IDC_INTERVAL变量int m_nInterval;重新构造函数

  1. CUpdateIntervalDlg::CUpdateIntervalDlg (WORD wInterval, CWnd *pParent /*=NULL*/)
  2.         : CDialogEx (CUpdateIntervalDlg::IDD, pParent)
  3. {
  4.         m_nInterval = wInterval;

  5.         if (m_nInterval < VIEW_MIN_INTERVAL)
  6.                 m_nInterval = VIEW_MIN_INTERVAL;
  7.         else if (m_nInterval > VIEW_MAX_INTERVAL)
  8.                 m_nInterval = VIEW_MAX_INTERVAL;

  9. }
复制代码



这个没有保存功能的对话框

这个没有保存功能的对话框

这是具有保存功能的对话框

这是具有保存功能的对话框
收藏 评论3 发布时间:2016-7-6 12:03

举报

3个回答
stary666 回答时间:2016-7-6 12:57:07
mantishell 回答时间:2016-7-12 08:29:06

谢谢,记录一下学习内容,分享出来以供大家批评指正
stary666 回答时间:2016-7-12 13:55:06

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版