C语言程序设计(第9章实用编程技巧)2

文章作者 100test 发表时间 2007:03:10 17:23:28
来源 100Test.Com百考试题网


9.2 菜单设计技术
菜单在用户编写的程序中占据相当一部分内容。设计一个高质量的菜单,不仅能使系统美观,更主要的是能够使操作者使用方便,避免一些误操作带来的严重后果。

9.2.1 下拉式菜单的设计
下拉式菜单是一个窗口菜单,它具有一个主菜单,其中包括几个选择项,主菜单的每一项又可以分为下一级菜单,这样逐级下分,用一个个窗口的形式弹出在屏幕上,一旦操作完毕又可以从屏幕上消失,并恢复原来的屏幕状态。
设计下拉式菜单的关键就是在下级菜单窗口弹出之前,要将被该窗口占用的屏幕区域保存起来,然后产生这一级菜单窗口,并可用光标键选择菜单中各项,用回车键来确认。如果某选择项还有下级菜单,则按同样的方法再产生下一级菜单窗口。
用Turbo C 在文本方式时提供的函数gettext( ) 来放屏幕规定区域的内容,当需要时用puttext( )函数释放出来,再加上键盘管理函数bioskey( ),就可以完成下拉式菜单的设计。
程序menu1.c是一个简单拉式菜单。运行时在屏幕上一行显示主菜单的内容,当按ALT F则进入File子菜单,然后可用光标键移动色棒选择操作,用回车确认。用Esc键退出主菜单,并可用ALT X退出菜单系统。

[例9-9] 下拉式菜单menu1.c
/*下拉式菜单menu1.c*/
#include
#include
#include
#include
void main(void)
{
int i,key,key0,key1,y,test.
char *m[ ]={"File","Edit","Run","Compile","Projsct","Options","Debug","Break/watch "}. /*定义主菜单的内容*/
char *f[ ]={"Load F3", /* 定义FILE 子菜单的内容*/
"Pick ALT F3",
"New",
"Save F2",
"Write to",
"Directory",
"Change dir",
"Os shell",
"Quit ALT X"}.
char buf[16*10*2],buf1[16*2]. /* 定义保存屏幕区域的数组变量*/
textbackground(BLUE). /* 设置文本屏幕背景色*/
clrscr( ). /* 屏幕背径着色*/
window(1,1,80,1). /* 定义一个文本窗口*/
textbackground(WHITE). /*设置窗口背景色*/
textcolor(BLACK).
clrscr( ).
window(1,1,80,2).
for(i=0.i<8.i )
cprintf("%s",m[i]). /*显示主菜单的内容*/
while(1)
{
key=0.
while(bioskey(1) == 0). /*等待键盘输入*/
key = bioskey(0). /*取键盘输入码*/
key = key&.0Xff? 0:key>>8. /*只取扩充键码*/
if(key == 45) eXit(0). /*如果按ALT X 键则退出*/
if(key == 33) /* 如果按ALT F 则显示子菜单*/
{
textbackground(BLACK).
textcolor (WHITE).
gotoxy(4,1).
cprintf("%s",m[0]).
gettext(4,2,19,11,buf)./*保存窗口区域的在原有内容*/
window(4,2,19,11).
textbackground(WHITE).
textcolor(BLACK).
clrscr( ).
window(4,2,19,12).
gotoxy(1,1). /*作一个单线形边框*/

相关文章


北京:2005年下半年计算机等级考试6月17日开始报名
C语言程序设计(第9章实用编程技巧)2
北京:2005年下半年计算机等级考试6月17日至24日报名
第四章指针、结构、联合和枚举
江苏:2005年下半年计算机等级考试南京首用网络报名
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛