- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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为
您可能关注的文档
最近下载
- 苏轼定风波课件PPT.ppt
- 医院智慧能源解决方案-.ppt
- 初中英语新外研版七年级上册Unit 5 Fantastic friends课文讲解(2024秋).doc
- 中国居民膳食指南2024版 .pdf VIP
- 大学军事理论课教程第二章国家安全第三节 国际战略形势.pptx
- 儿童幽门螺杆菌感染诊治专家共识.pptx VIP
- 怡安翰威特-泰康在线人力资源管理优化项目建议书_20170816.pdf VIP
- 初中英语新外研版七年级上册Unit 6课文解析(2024秋).doc
- 认真学习和领会《中国章程》-公需课:课后答案(全).docx
- 2024“学宪法、讲宪法”法治知识竞赛第八届全国中小学法治知识竞赛题库及答案.doc
文档评论(0)