背景

当前做的APP有菜单栏,菜单栏有一项需要对下位机相关参数进行设置,则必须弹出一个窗口来实现设置操作。本篇即对点击菜单栏生成新的窗口,在新的窗口内完成相应计划后结束新窗口并返回原窗口的方法进行简述。菜单栏的实现可见另一篇博客Visual studio C++ MFC之Menu editor

正文

  1. 创建一个新窗口

    在资源视图右击添加Dialog资源,会生成一个新的Dialog,该DialogID可自行定义,接着在该Dialog上右击添加类,类名自定义,本次类名为CANInterface,之后会生成两个文件ANInterface.cppANInterface.h,并且生成了新的窗口。

  2. 在原窗口生成菜单栏单击事件

    另一篇博客Visual studio C++ MFC之Menu editor已详述,生成的代码如下:

void CMenueditortestDlg::OnSettingCaninterface()
{
// TODO: 在此添加命令处理程序代码
// 定义一个新窗口的类
CANInterface dlg;
// 调用此函数,则1步骤生成的窗口产生,若是新生成的窗口退出会有一个返回值
INT_PTR nRet = dlg.DoModal();
TRACE("nRet = %d\n", nRet);
switch(nRet)
{
case 1: // do something
break;
case 11: // do something
break;
default: // do something
break;
}
}
  1. 在新窗实现控件操作并返回

    在新窗口类中完成一系列操作就和普通的窗口操作一样,可以添加控件,也可以添加事件,此处即添加一个按钮结束当前窗口,返回到原窗口,代码如下:
void CANInterface::OnBnClickedButtonEnd()
{
// TODO: 在此添加控件通知处理程序代码
// 此处的nRet既是上文所说的新生成的窗口退出的返回值
int nRet = 11; // Just any value would do!
EndDialog(nRet); // This value is returned by DoModal!
// Do something
return; // Dialog closed and DoModal returns only here!
}

参考链接

至此记录完毕

记录时间:2017-2-16

记录地点:深圳WZ

最新文章

  1. cat /proc/devices 和ls /dev
  2. SQL探险
  3. VSS - 版本管理起的学习 AND 使用
  4. 转:Unicode汉字编码表
  5. CGFloat,CGPoint,CGSize,CGRect
  6. JS学习笔记(四)常用对象
  7. Spring整合hibernate4:事务管理[转]
  8. 深入struts2(三)---工作机制和运行流程图
  9. curl_setopt(): CURLOPT_FOLLOWLOCATION cannot be activated when in safe_mode or an open_basedir is set in
  10. 修改cookie
  11. Laravel生成编译文件权限问题
  12. JPush简单Java服务端案例实现
  13. php多态
  14. 前端如何处理emoji表情
  15. python socket编程制作后门木马(原创)
  16. java Concurrent并发容器类 小结
  17. maven 项目连接mysql8.0版本时的注意事项
  18. 【转】链接伪类(:hover)CSS背景图片有闪动BUG
  19. FastDFS数据存储
  20. 以太坊之——golang以太坊接口调用

热门文章

  1. MATLAB的简单动画制作
  2. Mysql快速导出导入数据的实验
  3. 更改yum源为网易的
  4. 使用Xshell上传下载文件
  5. Largest Divisible Subset -- LeetCode
  6. [BZOJ1513]Tet-Tetris 3D
  7. [CF911G]Mass Change Queries
  8. 你真的懂ThreadPoolExecutor线程池技术吗?看了源码你会有全新的认识
  9. STL之全排列
  10. golang垃圾回收