第二节:简单的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键后的程序执行情况。