`
deepfuture
  • 浏览: 4401674 次
  • 性别: Icon_minigender_1
  • 来自: 湛江
博客专栏
073ec2a9-85b7-3ebf-a3bb-c6361e6c6f64
SQLite源码剖析
浏览量:80082
1591c4b8-62f1-3d3e-9551-25c77465da96
WIN32汇编语言学习应用...
浏览量:70093
F5390db6-59dd-338f-ba18-4e93943ff06a
神奇的perl
浏览量:103406
Dac44363-8a80-3836-99aa-f7b7780fa6e2
lucene等搜索引擎解析...
浏览量:285912
Ec49a563-4109-3c69-9c83-8f6d068ba113
深入lucene3.5源码...
浏览量:15017
9b99bfc2-19c2-3346-9100-7f8879c731ce
VB.NET并行与分布式编...
浏览量:67604
B1db2af3-06b3-35bb-ac08-59ff2d1324b4
silverlight 5...
浏览量:32173
4a56b548-ab3d-35af-a984-e0781d142c23
算法下午茶系列
浏览量:45998
社区版块
存档分类
最新评论

玩转菜单-菜单资源

阅读更多

菜单资源

    WINDOWS程序的菜单通常编译前定义在资源文件中,程序员可使用VC自带的资源编辑器可视化地编辑菜单资源,在资源文件中自动生成相关脚本,对于WIN32汇编程序员,最好能看懂这些自动生成的脚本,VC程序员在完成一些特殊程序时也需要亲自看看这些脚本文件。笔者用VC向导生成一个空的单文档程序,下面是VC自动生成的脚本文件中,我们一起对其中的菜单资源进行分析:
 /////////////////////////////////////////////////////////////////////////////
//
// Menu
//
IDR_MAINFRAME MENU PRELOAD DISCARDABLE
BEGIN
 POPUP "文件(&F)"
 BEGIN
  MENUITEM"新建(&N)\tCtrl+N",               ID_FILE_NEW  
  MENUITEM"打开(&O)...\tCtrl+O",           ID_FILE_OPEN
  MENUITEM"保存(&S)\tCtrl+S",              ID_FILE_SAVE
  MENUITEM"另存为(&A)...",                ID_FILE_SAVE_AS
  MENUITEM SEPARATOR
  MENUITEM"打印(&P)...\tCtrl+P",          ID_FILE_PRINT
  MENUITEM"打印预览(&V)",             ID_FILE_PRINT_PREVIEW
  MENUITEM"打印设置(&R)...",            ID_FILE_PRINT_SETUP
  MENUITEM SEPARATOR
  MENUITEM"最近文件",                ID_FILE_MRU_FILE1,GRAYED
  MENUITEM SEPARATOR
  MENUITEM"退出(&X)",                      ID_APP_EXIT
 END
 POPUP "编辑(&E)"
 BEGIN
  MENUITEM"撤消(&U)\tCtrl+Z",              ID_EDIT_UNDO
  MENUITEM SEPARATOR
  MENUITEM"剪切(&T)\tCtrl+X",               ID_EDIT_CUT
  MENUITEM"复制(&C)\tCtrl+C",              ID_EDIT_COPY
  MENUITEM"粘贴(&P)\tCtrl+V",             ID_EDIT_PASTE
 END
 POPUP "查看(&V)"
 BEGIN
  MENUITEM"工具栏(&T)",                   ID_VIEW_TOOLBAR
  MENUITEM"状态栏(&S)",                ID_VIEW_STATUS_BAR
 END
 POPUP "帮助(&H)"
 BEGIN
  MENUITEM "关于test1(&A)...",         ID_APP_ABOUT
 END
END   
一、菜单项的定义:
1、文字菜单项目的定义
  MENUITEM"新建(&N)\tCtrl+N",               ID_FILE_NEW           
  菜单项的定义方式是:MENUITEM 菜单文字,命令ID,选项列表
选项列表是可选项,也可以不定义。这定义了一个菜单项,显示的名称是新建(&N)Ctrl+N,命令ID是ID_FILE_NEW,没有选项列表,菜单文字定义中的“\t”为什么没显示出来呢?因为\t代表TAB字符,会使其后面的文字右对齐。
  菜单项有以下选项:
  CHECKED:打上选定标志
  GRAYED:灰化
  INACTIVE:禁用
  MENUBREAK或MENUBARBREAK:把这个菜单项和以后的菜单项列到新的列中
  我们把下面这段资源文件用记事本打开,给“新建”加上CHECKED选项,给“最近文件”加上GRAYED,给“打印”然后用VC重新编译运行一下这个程序。
  MENUITEM"新建(&N)\tCtrl+N",               ID_FILE_NEW,CHECKED
  MENUITEM"打开(&O)...\tCtrl+O",           ID_FILE_OPEN
  MENUITEM"保存(&S)\tCtrl+S",              ID_FILE_SAVE
  MENUITEM"另存为(&A)...",                ID_FILE_SAVE_AS
  MENUITEM SEPARATOR
  MENUITEM"打印(&P)...\tCtrl+P",          ID_FILE_PRINT,MENUBREAK
  MENUITEM"打印预览(&V)",             ID_FILE_PRINT_PREVIEW
  MENUITEM"打印设置(&R)...",            ID_FILE_PRINT_SETUP
  MENUITEM SEPARATOR
  MENUITEM"最近文件",                ID_FILE_MRU_FILE1,GRAYED
  MENUITEM SEPARATOR
  MENUITEM"退出(&X)",                      ID_APP_EXIT
  从图5.1可以看出修改后,文件菜单已经按照我们要求的方式变了形。


 
图5.1
2、分隔符的定义
  从图5.1中可以看出最近文件与退出之间有个分隔符,它的定义方式是:
  MENUITEM SEPARATOR
3、弹出菜单项
   POPUP"文件(&F)",

   POPUP"编辑(&E)"
  这些都是弹出菜单项,弹出菜单项的定义方式如下L
   POPUP 菜单文字,选项列表
   BEGIN
      子菜单项定义
   END
  对于弹出菜单项,也可用选项列表,有兴趣的读者用记事本打开资源文件,将 POPUP"编辑(&E)"改为 POPUP"编辑(&E)",GRAYED,用VC重新编译运行一下试试效果吧
二、菜单的定义
   IDR_MAINFRAME MENUPRELOAD DISCARDABLE
  从上面的资源文件中可以看出,VC生成的默认单文档程序中只有一个菜单,菜单ID是IDR_MAINFRAME,菜单的定义方式是:
   菜单IDMENU [DISCARDABLE]
   DISCARDABLE表示菜单不用时从暂时从内存中卸掉。
   PRELOAD 表示预加载该资源
  • 大小: 14.9 KB
分享到:
评论

相关推荐

    Android圆形旋转菜单

    3. `res/drawable/`目录下的图片资源:用于菜单项的图标。 4. `build.gradle`和`AndroidManifest.xml`:项目构建配置和应用元数据。 5. 可能还会有示例应用的主Activity和相关布局文件,用于演示如何在实际项目中...

    玩转资源管理器的启动参数.pdf

    《玩转资源管理器的启动参数》是一篇关于如何利用Windows资源管理器的启动参数来定制个性化启动界面的文章。资源管理器是我们日常操作电脑时最常使用的工具之一,但很多人并不知道它支持启动参数,这些参数可以让...

    仿卫星菜单,竖直弹出菜单

    在Android应用开发中,"仿卫星菜单"是一种常见的交互设计,它模仿了卫星导航...在实际应用中,可以依据项目需求进行个性化定制,比如改变菜单项的形状、颜色、大小,甚至添加过渡动画,使得菜单更具吸引力和可玩性。

    玩转电脑技巧全书总汇

    - `Win+E` 打开资源管理器 - `Win+R` 打开“运行”对话框 2. **Windows 开始→运行→命令 集锦**: - `msconfig` 打开系统配置工具 - `regedit` 进入注册表编辑器 - `cmd` 打开命令提示符 - `notepad` 打开...

    WTL起步-玩转图形界面

    ### WTL起步—玩转图形界面 #### 一、WTL简介 WTL(Windows Template Library,即Windows模板库)是一种轻量级的C++模板库,用于简化Win32 API的使用,使得开发者能够更加高效地开发Windows图形用户界面(GUI)...

    流星雨玩转TreeView第二版

    在《流星雨玩转TreeView第二版》中,作者可能深入探讨了TreeView的高级特性,如拖放操作、节点的动态加载、自定义图标、右键菜单、以及与后台数据的绑定等。此外,可能还讨论了性能优化技巧,如何处理大量数据的显示...

    卫星菜单源代码,初学者玩玩

    在这个名为“卫星菜单源代码,初学者玩玩”的资源中,我们可以推测它包含了一个实现卫星菜单功能的源代码实例。这个菜单特别之处在于它结合了四种不同的动画效果,这将使得菜单在展开和收起的过程中更加生动有趣,...

    WTL起步-玩转图形界面

    **WTL起步-玩转图形界面** Windows Template Library (WTL) 是微软开发的一个轻量级的库,用于构建高效且资源占用低的Windows应用程序。它建立在Active Template Library (ATL) 之上,提供了对Windows图形用户界面...

    玩转电脑技巧

    ### 玩转电脑技巧:提升系统性能与操作效率 #### 概述 本文将详细介绍如何通过修改系统设置和注册表来提升Windows XP系统的性能,同时也会分享一些实用的快捷键,帮助用户更加高效地使用电脑。对于经常使用电脑...

    入门玩转vc++2010

    - **标题**:“入门玩转vc++2010”意指通过本教程,初学者可以快速掌握Visual C++ 2010的使用方法。 - **描述**:“《Visual C++ 2010入门教程》帮你解决上手问题”,表明本教程旨在帮助读者快速熟悉Visual C++ 2010...

    快速玩转Win8系统的技巧十则.docx

    【快速玩转Win8系统的技巧十则】 1、上帝模式: 在Windows 8系统中,隐藏着一个被称为“上帝模式”的功能,它提供了一个集中化的设置界面,方便用户快速访问系统中的各种设置选项。要开启上帝模式,只需在桌面创建...

    Scratch3程序如何转成HTML和制作成exe文件转换方法-自学笔记

    1. **菜单栏**:位于界面顶部,包含文件、编辑、控制等常用功能选项。 2. **角色区**:位于界面左侧,显示当前项目中的所有角色(即精灵或物体)。您可以添加、删除或修改角色。 3. **脚本区**:位于界面中间,是...

    《玩转电脑技巧全书》1、2

    ### 《玩转电脑技巧全书》核心知识点概览 #### 一、最全的Windows操作系统快捷键 - **概述**:本章节详细介绍了一系列Windows操作系统中的快捷键,旨在帮助用户提高工作效率,快速掌握各种操作技巧。 - **核心知识...

    让你彻底不用鼠标玩转电脑,尝试计算机高手的感觉

    ### 无鼠标玩转电脑:全面掌握键盘快捷键技巧 #### 概述 在现代办公环境中,虽然鼠标作为辅助输入设备极大地提升了用户操作电脑的便捷性与效率,但很多时候我们可能会遇到无法使用鼠标的场景,比如鼠标损坏或者...

    玩转Windows

    《玩转Windows》 在数字化时代,Windows操作系统作为全球最广泛使用的个人计算机操作系统之一,扮演着至关重要的角色。本文将深入探讨如何充分利用Windows系统,提升工作效率和个人体验。 首先,了解Windows的基本...

    玩转WTL word文件

    **玩转WTL Word文件** WTL(Windows Template Library)是微软提供的一种轻量级的C++库,用于开发Windows应用程序。它基于ATL(Active Template Library)并扩展了其功能,使得开发者能够更轻松地构建高效且小巧的...

    注册表使用手册玩转注册表

    玩转注册表对于优化系统性能、修复问题、个性化定制系统有着不可忽视的作用。这份“注册表使用手册”将帮助你深入理解并熟练操作注册表。 1. **注册表的基本结构** - **根键(Hives)**:注册表主要由五个根键组成...

    叫你如何不使用鼠标玩转电脑

    在文件资源管理器或应用程序中,可以使用Tab键在各个界面元素(如文件、按钮、菜单项等)间切换,Enter键则可以执行选定的元素的功能。例如,在文件夹中,Tab键可以用来在文件名、路径栏和工具栏之间切换,Enter键...

Global site tag (gtag.js) - Google Analytics