第二节:简单的Windows程序(二)

下面为这个程序增加一个菜单项:
首先设计用户菜单。在工作区里找到资源视图。点击Menu左边的+号,双击出现的IDC_WIN_STEP1菜单。

图7 资源视图中的菜单

将help右边的虚框拖入左侧File菜单后,即可双击编辑菜单属性。

图8 新建菜单名,在快捷字母键前加&可增加快捷键

在顶层的菜单叫做顶层菜单;通常顶层菜单作为一组菜单的标题存在,本身并不响应什么动作,具体动作通常由子菜单完成。双击Edit下面的空白虚框,增加一个子菜单如图10。
在图10中,ID框内是这个命令的消息编号,在程序执行时,若用户选择这个菜单,就会在前述图7中的菜单消息处理中收到这个消息。Caption框里是菜单的内容,在字母S前加&符会为这个S增加一个下划线,表示可以通过键盘上的ALT_E, S来激活这个消息。这样程序允许用户不通过鼠标来执行命令。底下的Prompt是提示符,表示对命令的解释,一般写菜单时应该同时提供这类较为详细的说明,在正式的程序设计时有用。

图9 添加子菜单

下面在菜单处理的地方增加一个对于IDM_SHOW_TIME处理的代码:

程序片段5 消息处理

因为程序中用到了sprintf函数,因此必须在程序开始处增加对stdio.h的引用。

程序片段6 增加引用。注意保留stdafx.h

编译以后,可以执行这个程序,当按下 ALT_E后,再次按下S键就会出现一个显示时间的对话框。

我们还可以通过快捷键来响应这个消息,打开资源视图中的快捷键:在右边快捷键表中双击新的空白行,在对话框中选择ID对应的菜单消息IDM_SHOW_TIME消息,然后

图10 增加快捷键

图11 设置快捷键

编译后可以执行,观察按下F7键后的程序执行情况。

Windows编程初步(二)相关推荐

  1. Windows编程初步

    Windows编程初步 目前来说Windows已经家喻户晓,它的历史是Microsoft历史上最辉煌的一页.人们现在已经基本上使用Windows操作系统,因此在编程方面我们有必要从DOS环境编程向Wi ...

  2. Windows编程初步(一)

    第一节:安装帮助文档 使用C语言进行Windows开发,必然使用到WindowsSDK.Windows SDK指Windows开发人员工具包,是为使用C语言开发Windows程序所提供的工具集.里面提 ...

  3. Windows编程初步(三)【说明:有敏感字眼已全删,不知道为啥还审核不通过】

    第三节 设计输出及利用在线帮助 在Windows中,消息ON_PAINT是专门用来处理输出的.基本所有的输出代码应放在这里. .其输出方式不再限于从上往下,而是全屏可控,因此每个输出都需要告知系统输出 ...

  4. 圣诞礼物c语言代码大全,windows编程入门二:圣诞节的礼物——从“屏幕飘雪”程序说起...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 这段是定义全局变量和写一个窗口.大家注意ShowWindow(hwnd,SW_SHOWMINIMIZED),这说明当创建时是最小化的窗口. #includ ...

  5. 圣诞节程序c语言,windows编程入门二:圣诞节的礼物——从“屏幕飘雪”程序说起...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 这段是定义全局变量和写一个窗口.大家注意ShowWindow(hwnd,SW_SHOWMINIMIZED),这说明当创建时是最小化的窗口. #includ ...

  6. [转]Windows 语音编程初步

    [转]Windows 语音编程初步 一.SAPI简介 软件中的语音技术包括两方面的内容,一个是语音识别(speech recognition) 和语音合成(speech synthesis).这两个技 ...

  7. [笔记]Windows核心编程《二十》DLL的高级操作技术

    系列文章目录 [笔记]Windows核心编程<一>错误处理.字符编码 [笔记]Windows核心编程<二>内核对象 [笔记]Windows核心编程<三>进程 [笔记 ...

  8. Windows网络编程初步

    1. OSI/RM和TCP/IP 国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)制定OSI/RM OSI/RM:Open SystemInterconnect/Recommended ...

  9. 《从问题到程序:用Python学编程和计算》——第2章 计算和编程初步 2.1 数值表达式和算术...

    本节书摘来自华章计算机<从问题到程序:用Python学编程和计算>一书中的第2章,第2.1节,作者 裘宗燕,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 第2 ...

最新文章

  1. windows 启用远程服务
  2. mysql导入数据权限_mysql5.7导入数据的权限问题
  3. linux 线程--内核线程、用户线程实现方法
  4. python的沙盒环境virtualenv(一)--作用
  5. java.nio.Buffer flip()方法
  6. [云炬ThinkPython阅读笔记]3.4 增加新函数
  7. 6月全球Web服务器市场份额:Apache升至64.33%
  8. 【英语学习】【WOTD】valetudinarian 释义/词源/示例
  9. Django通过pycharm创建后,如何登录admin后台?
  10. python目录操作函数_Python3目录操作
  11. Java ArrayList的Array,Array的ArrayList
  12. pytorch经常使用的代码(持续更新)
  13. Spring REST Controller,在GET方式下,有多个参数时的处理
  14. JavaScript静态页面值传递之URL篇
  15. 借助excel工具进行多元线性回归模型的建立及案例分析
  16. matlab直流电机转速 电流双闭环,转速 电流双闭环直流调速系统的课程设计(MATLAB Simulink)...
  17. Echarts柱状图属性设置大全
  18. mysql中临时字段_MySQL临时表
  19. laravel数据填充seeder
  20. SSD: Single Shot MultiBox Detector

热门文章

  1. Java:放心(或非常容易)
  2. 使用MRUnit测试Hadoop程序
  3. JavaFX移动应用程序最佳实践,第2部分
  4. JavaOne正在重建动力
  5. 通过 PL/SQL Developer 建表
  6. Windows 下有哪些逆天的软件?
  7. 关于压缩工具 7z(7-zip) 的选项 -so(从标准输出流写入数据)的解读
  8. QPW 公告表(tf_notice)
  9. 根据录入的计算公式计算_小规模纳税人增值税计算公式是什么,什么人能被称为小规模纳税人?- 理财技巧...
  10. python解析pcap包已text格式输出_python分析pcap包