用C编写类Windows菜单

在开发程序时,程序的界面、开放性是两个非常重要的方面,目前,在Unix系统下运行的程序的界面大都比较死板,而且,在进行功能扩充时也不是很方便。那么,能不能设计一个象Windows那样能够按照用户要求随意调整界面,功能扩充方便的程序呢?答案是肯定的。笔者通过实践,设计了一个菜单程序,使用户在对菜单的显式样式不满意时,只需通过对菜单参数文件进行操作即可完成对菜单位置、宽度、长度、是否有边框等进行调整;在用户需要进行功能扩充时,也无须改动源程序,只须对参数文件进行操作就可将新增功能挂到菜单上。 

一参数文件说明 

本程序需要借肋两个参数文件来实现: 

(1)、对菜单中每一项参数进行说明的文件(menu.def),它格式如下所述:

!所属菜单代号!项顺序号!菜单项名称!外挂程序名称!下级菜单代号! 

说明:

1、如菜单代号为"0",则表示此项属于主菜单

2、如外挂程序名称为"0",则表示此菜单项对应的过程在菜单程序内部或对应于一个子菜单;

3、如下级菜单代号为"0",则表示此菜单项无下级子菜单;

4、项顺序号同时可作为菜单热键使用。

假如文件menu.def中有下面这一行:

!0!3!格式化磁盘!format /dev/rfd0135ds18!0!

它表示主菜单的第三项为格式化磁盘,它对应的执行过程为 format /dev/rfd0135ds18,本项无子菜单。

如果用户想把自己编的实现查询功能程序XXX挂到本程序主菜单第4项上,则可在menu.def中增加下面这一行:

!0!4!查询!XXX!0!

(2)、对各菜单参数进行说明文件(menu.conf),其格式如下所述:

!菜单代号!上一级菜单代号!边框标志!菜单宽度!菜单行数!菜单列数!起始横坐标!起始纵坐标!

说明:

1、边框标志为"0"表示无框,为"1"表示有边框;

2、上级菜单代号为"-1",表示无上级菜单;

3、如菜单代号为"0",表示主菜单。

当用户对菜单显示样式不满意时,可通过调整此文件设计个性化的界面。

时间: 2024-08-31 20:03:36

用C编写类Windows菜单的相关文章

用mfc编写一个windows文件资源管理器

问题描述 用mfc编写一个windows文件资源管理器 需要创建几个类,以及怎样封装哪些函数及数据 解决方案 http://download.csdn.net/download/mingyuan0826/2716853 解决方案二: VS2008SP1的有个Samples文件下的Explorer能实现类似的效果. ...Samples1033AllVCLanguageSamplesC++MFCVisual C++ 2008 Feature PackExplorer 解决方案三: 还有请问左右视图

使用XML/HTC/DHTML模拟标准Windows菜单

dhtml|htc|window|xml|标准|菜单   随着internet的发展,XML作为一种跨平台的通用结构化数据描述语言越来越得到人们的重视,并已经得到了广泛应用,如MicroMedia公司出品的Dreamweaver.Flash以及游戏抢滩登录等软件都利用了XML文件作为数据存储方式,而且Microsoft.NET也是架构在XML上面的.目前出现的取代HTML语言的下一代网页制作语言XHTML(可扩展超文本标记语言),就是建立在XML基础上,因此掌握XML技术是未来网页制作者必备技能

计算机系统结构DLX指令编写矩阵相乘,要求编写和实现菜单功能

问题描述 计算机系统结构DLX指令编写矩阵相乘,要求编写和实现菜单功能 .data dat1: .space 64 dat2: .space 64 result: .space 64 Prompt1: .asciiz "~~~~~~~~~~~~~~~~~~~~~~~martrix multiply~~~~~~~~~~~~~~~~~~~~~n ----------------------written by hhq-n 1.请输入矩阵A和矩阵B n 2.输出矩阵A和矩阵B n 3.显示相乘的结果

用C#编写一Windows程序,要求在窗口的空白处响应鼠标单击事件,怎样设计?

问题描述 各位高手:我想用C#编写一Windows程序,要求在窗口的空白处响应鼠标单击事件,怎样设计?谢谢! 解决方案 解决方案二:写个窗体的MouseClick事件解决方案三:楼上正解解决方案四:usingSystem;usingSystem.Windows.Forms;classTest:Form{protectedoverridevoidOnClick(EventArgse){MessageBox.Show("Clicked!");base.OnClick(e);}staticv

编写类String 的构造函数,析构函数和赋值函数

问题描述 编写类String的构造函数,析构函数和赋值函数已知类String的原型为classstring{public:string(constchar*str=null);//普通构造函数string(conststring&other);//拷贝构造函数---string(void);string&operate=(conststring&other);//赋值函数private:char*m-data;//用于保存字符串};请编写string的上述4个函数在线等.... 解

用C# 如何编写取得windows任务计划信息的程序??

问题描述 用C#如何编写取得windows任务计划信息的程序(如上次运行时间,状态,....)??

CSS3伪类垂直菜单背景滑动动画效果

主要用到了position 和 transition 属性,对低版本浏览器不兼容. 效果图如下   我们先编写基本的菜单HTML代码.  代码如下 复制代码 <nav>   <ul>     <li><a href="">Home</a></li>     <li><a href="">About</a></li>     <li>&l

基于MVC4+EasyUI的Web开发框架经验总结(3)- 使用Json实体类构建菜单数据

最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开发框架保持一致,而在Web上,我主要采用EasyUI的前端界面处理技术,走MVC的技术路线,在重构完善过程中,很多细节花费不少时间进行研究和提炼,一步步走过来,也积累了不少经验,本系列将主要介绍我在进一步完善我的Web框架基础上积累的经验进行分享,本随笔主要介绍使用如何使用Json实体类构建菜单数据,然后在主界面中进行使用.  菜单的界面效果如下所示,菜单分为一级菜单.二级菜单.三级菜单,他们

C#编写的windows计算器的实例代码

这篇文章介绍了C#编写windows计算器的代码,有需要的朋友可以参考一下   复制代码 代码如下: using System; using System.Drawing; using System.Windows; using System.Windows.Forms; using System.Collections; using System.ComponentModel; using System.Data; namespace comput {     /// <summary>