用C语言构造通用的下拉式菜单程序.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用C语言构造通用的下拉式菜单程序

用C语言构造通用的下拉式菜单程序 ,D—c 用C语言构造通用的下拉式菜单程序 河海大学计算机科学系E明_ (南京西靡瞎l号邮玛2loo24) 南京交通银行计算中?角钢●_-●__一 摘要本文以c语言为侧提出_r通过建立下拉式菜单框架与驱动函数. 穿设计方法裳构造一组菜单支持函数,可以设计出通用的下拉式菜单程序 关键宇垫量菜单规屏遥鬣嚣基于Blos的程牟设计可移檀性 l问题提出 耨程序 当使川F拉式菜单(pu11一downmenu) 的程序运行时,能给人清晰的程序处理流 栏和生动的人机界面,因此,倍受用户肯 睐. 软件开发者常有这稠l体会t用户往往以 人机界面来衡量一个应用程序的质量’而对 于开发者来说,人机界面的设计往往占有了 他很多的时间与精力. 那么,掌握一种通甩的设计技术,构造 通用程序,便能既节省时间与精力,又能设 计出令用户满意的程序.在此,笔者试图以 C语言这种常用的软件开发工具为例,提出 通过建立菜单框架与驱动函数,构造一组通 用的寨单支持盾数等方法来设计出通用的, 可移植的下拉式菜单程序. 2建立菜单框架和菜单系统驱动 函数 一 个应用程序包含许多菜单,而这些菜 单往往构成一个树型系统.为了使菜单支持 例程(c函数)能区分各菜单,可按一定顺 序(如图1所示)给各个菜单端上号t 10韫小翟计算机歼垒与盅甩I●●2.’ l及通过崩基于BIOS的程 并给出是蓉方法?c诡言 圈l树型菜单系统 另外,各个菜单又均有其自己特定的屏 幕坐标参照系和特征值,因此,可定义一个 统一的菜单框架(frame)来描述这些特性, 以便提供给菜单支持例程.显然,这个菜单 框架用全程的结构数组来表示最为合适 structmenu— frame {intactlvej/.菜单墩活标忠?/ ints=,.Y,ex..yi/.占用屏幕的起止行 列?/ char?fit1e;/?菜单标题?/ cbar??meRtl~/?菜单选项正交?/ char?hotkeys;/?选项热键?/ intcount;/?选项个数?/ intIlCOIor,rcolori/’正显及反显色?/ unsigaedchar’pi/’指向保存覆盖屏幕 信息的空间?/ }f[MAX—FN];whlle(‘cO=actirate(O))!一一1)/?撤活O号菜单?/ {sw.1teh(co) ~case1;whU.e((Cl=actirate(1))l=一1)/?融话1亏菜单?/ {switcli(C1) - {casel:/?墩活l号菜单的第一子菜单?/:…;b~teak; c9e2:/?激活t号菜单的第二子菜单?/j…;break; ; CaS43n:/?澈活号菜单的第子菜单?/,…j } } restore— video— iafo(1后的缺省模式为3(即8O列x25行 彩色文本方式),对子象MDA等单显,其 缺省模式是7(即80列x25行文本方式).因 此,本文假设适配器工柞于以上80捌×25行 文本方式,且假设显示RAM的活动显示页为 通常的第0页. 要实现以一定的颜色属性显示字符,以 及保存与恢复屏幕,必须对视屏进行直接控 制.一般有以下两种实现方法t其一是t直 挚存取显示寄存器及RAM(即直接程序设 计).用这种方法设计的程序可获得极快的 显示速度,但由于其硬件依赖性,开发的程 序可移植性差.特别是在汉字系统下,要确 定显示RAM的地址是很困难的其二是t 通过调用BIOS10H中断(即基于BIOS的 程序设计).各种常用的适配器不论其是否 自带BIOS,还是使用ROMBIOS,功舷号 为0NF的:0H中断调用是兼容的,而且,由 于BIOS对硬件物理特性的屏蔽,放有利于 开发可移植的通用性程序 MicrosoftC及TurboC是目前常用的 程序开发工具,商者均提供TINT86()函 数,可用此实现1nH中断凋用.蓑1列出J 笔者开发的一组菜单通用支持函数? t小型计算帆发与应用1992. . 11 裹i 菜单支持函数l函数功能简述.使的功能号及支持函数 s?一Vde.一m.de(m)设置视屏适配器工作模式址I.H号(设置显示摸式) get—video—mode()返回视屏适配器当前工作模式FH号(读当前显示模式) set— C11T.~or(z.Y)光标定位手z行Y刊虹{号(光柯定位) save—video—info(n)保存n号菜单的覆盖屏幕信息8H号(读光标处字符厦属性) restore— rideo—info(n)嵌复n号菜单的覆盖屏幕信息9H号(在光标处写字符及性) i:::::!:::::!::::::!l在::兰!!l!!兰!兰兰兰兰!兰竺兰 :竺:!:::::::巨兰!.disp—ch() c~ls(z1.Yl_X2,y2,bkc)在矩形区内以bkc为

文档评论(0)

almm118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档