鱼C论坛

 找回密码
 立即注册
查看: 3051|回复: 1

[学习笔记] 琢石成器WIN32汇编程序设计学习(八)-第5章 使用资源(二)-实例操作

[复制链接]
发表于 2018-3-14 10:04:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 兰陵月 于 2018-3-16 14:34 编辑

书上知识:
菜单项目的定义方法有3类:
用法1定义的是普通菜单项,图5.1中的“字体”与“背景色”等菜单项都是这样定义的,它的组成部分如下:
菜单文字—显示在菜单项中的字符串。如果需要字符串中某个字母带下划线,那么可以在字母前面加&符号,如“字体(F)”就要写成“字体(&F)…”,带下划线的字母可以被系统自动当做快捷键:在这里,当菜单打开的时候按下F键,那么就相当于鼠标选择了“字体”选项。在同一个弹出菜单中要注意不同的菜单项快捷键应该有所区别。另外,如果要把加速键的提示信息显示在菜单项的右边,如“字体”菜单项中的“Alt+F”字符,可以在两者中间加\t(表示插入一个Tab字符),写为“字体(&F)…\tAlt+F”,这样Tab后面的字符在显示的时候会右对齐。
命令ID—用来分辨不同的菜单项。当菜单被选中的时候,Windows会向窗口过程发送WM_COMMAND消息,消息的参数就是这个命令ID。用命令ID可以分辨用户究竟选中了哪个菜单项,所以不同的菜单项应该定义不同的ID值,除非想让两个菜单项的功能相同。
选项—用来定义菜单项的各种属性,它可以是下列数值:
    CHECKED—表示打上选定标志(对钩)
    GRAYED—表示菜单项是灰化的。
    INACTIVE—表示菜单项是禁用的。
    MENUBREAK或MENUBARBREAK—表示将这个菜单项和以后的菜单项列到新的列中。用MENUBREAK时新列与旧列之间无分隔线;用MENUBARBREAK时新列与旧列之间有分隔线。
用法2定义的是菜单项之间的分隔线,显然,分隔线是不需要字符串和选项的。
用法3定义的是弹出式菜单,顶层菜单是由多个弹出式子菜单组成的,所以在Menu.rc文件中,主菜单是由“文件”、“查看”和“帮助”3个顺序定义的弹出式菜单组成的,弹出式菜单的定义也可以嵌套,如“查看”菜单中的“工具栏”又是一个弹出式菜单,在嵌套的时候要注意像写C的源程序一样把begin和end(或者{和})正确地配对。popup菜单的选项列表可以是以下的值:
GRAYED—表示菜单项是灰化的。
INACTIVE—表示菜单项是禁用的。
HELP—表示本项和以后的菜单项时右对齐的,如图5.1中所示的“帮助”菜单。


1、根据用法3,POPUP菜单有GRAYED、INACTIVE、HELP三个选项值,但是经过实验,非顶层弹出式菜单也可以选择CHECKED属性,如下图,在rc文件中将一个非顶层的弹出式菜单“工具栏”菜单后附加CHECKED属性:
001.png

程序运行后,可以看到这个菜单项也处于选中状态,如下图:

002.png
2、当然如果在“文件”、“查看”、“帮助”三个顶层弹出式菜单定义中附加CHECKED属性,则没有任何效果,不会有处于选中状态的情况。如下图:
003.png

“查看”菜单(顶层弹出式菜单)并未出现选中后出现下拉菜单的状态:
005.png
3、在“文件”、“查看”、“帮助”三个顶层弹出式菜单后,均附加HELP属性,运行后,三个菜单仍按原来顺序全部靠最右排列:
006.png

4、在第二个菜单“查看”菜单后附加HELP属性,“文件”和“帮助”菜单不附加任何属性,运行后可以发现,从有HELP属性的菜单开始(包括本菜单),剩下的所有菜单均靠右排列,如下图:
007.png
5、MENUBREAK与MENUBARBREAK的区别。MENUBARBREAK会在MENUBREAK基础上加一条分隔的竖线,如下面两张图,前2图是MENUBREAK属性,后面2张图是MENUBARBREAK属性。
008.png

009.png

010.png

011.png
6、顶层弹出式菜单项和普通子菜单项附加INACTIVE属性运行后的表现形式是不一样的,顶层弹出式菜单附加INACTIVE的效果和附加GRAYED属性的效果是一样的,都是灰化效果。如下图:
012.png



LX.zip

3.38 KB, 下载次数: 5

三个源文件

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +3 收起 理由
比特阿尔法 + 5 + 5 + 3 支持楼主!

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-5-31 15:23:22 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 07:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表