文档详情

C语言下拉菜单设计-带源代码课件.ppt

发布:2017-08-08约9.39千字共30页下载文档
文本预览下载声明
C语言下拉菜单程序设计 主要内容 显示器工作方式 文本窗口I/O函数 bioskey函数 下拉菜单程序设计 扩展设计要求 1.显示器工作方式 显示适配器(显卡) 单色文本适配器(MDA) 彩色图形适配器(CGA) 增强图形适配器(EGA)等 工作模式:字符模式、图形模式 显示器上的所有信息均来自显示适配器 屏幕信息保存在显示器存储器(VRAM)中 窗口、图形等编程本质是对VRAM编程 字符模式的显示器 显示信息的形态 硬件支持:字符发生器 (计算机组成原理) 屏幕显示:字符 VRAM中内部表示: 值:字符的ASCII码:1字节 颜色属性:1字节 屏幕宽度 80×25 (横坐标-80列 纵坐标-25行) 40×25 (横坐标-40列 纵坐标-25行) 颜色属性 包括两个方面:字符的颜色和衬托字符的颜色。把对象的颜色称为前景的颜色,衬托对象的颜色称为背景的颜色。前景色/背景色 文本方式下显示属性字节 属性位表示的颜色 2.文本窗口I/O函数 窗口:具有色彩的有边界的矩形区域 控制台I/O 头部文件 #include conio.h 文本窗口I/O函数分类 文本模式设置与创建文本窗口函数 文本输入/输出函数 属性与状态控制函数 文本模式设置函数 void textmode(int mode); 将屏幕设置成文本模式的全屏幕窗口,并清除窗口中所有的图形和正文。 创建文本窗口函数 void window(int left, int top , int right, int bottom); 在屏幕上创建指定大小的文本窗口 默认定义的窗口为整个屏幕(1,1)和(80,25)。 窗口中每个字符有一个坐标值(x,y) 左上角、右下角的坐标不能越界 输入、输出信息将限定在该窗口范围内 光标位置设置/读取函数 int wherex(void) 返回当前文本窗口中光标的位置的X 坐标,返回值为1到80之间的整数 int wherey(void) 返回当前文本窗口中光标位置的Y坐标,返回值为1到25之间的整数 void gotoxy (int x,inty) 在当前文本窗口中把光标移动到指定的位置 控制台(窗口)文本I/O函数 cpringtf(格式说明字符串,变量名表) 把变量名表中的信息按格式说明输出到当前窗口 cputs(char *string) 输出一个字符串到当前窗口上 putchar(char c) 输出一个字符到当前窗口上 char getchc(void) 从键盘上获得一个字符并在屏幕上显示出来 char getch() 从键盘上获得一个无回显的字符 控制台(窗口)信息清除函数 void clrscr(void) 清除当前窗口,并将光标移到左上角位置(1,1) void clreol(void) 将从光标位置到行末的所有字符清除 void delline(void) 删除光标所在的那一行,以下各行上移一行 例子1:建立一个10行40列宽的窗口 颜色与状态控制函数 void textbackground(int color) 设立当前窗口的背景颜色为color所指的颜色 void textcolor(int color) 设立当前窗口的文本颜色为color所指的颜色 void textattr(int attr) 同时设立当前窗口背景和前景的颜色为attr所指的颜色 颜色参数color的含义 颜色控制举例 例2 建立一个10行40列的用户窗口,且窗口的颜色是蓝底黄字。显示的内容在窗口中滚动。 单步运行,再添加gotoxy(i,i)语句测试 例3 在规定的窗口(20,5,60,15)中,底色由BLACK到LIGHTGRAY(由黑到浅灰)八种颜色的变化,而文本颜色也是如此变化 注意本例中颜色的符号常量标识符 测试前景色、背景色的设定效果 文本窗口加框 加框的窗口使信息显示更清楚 C无现成的画文本框库函数 使用ASCII中划线字符画框 例4 单线框、双线框窗口 移动文本窗口 一个文本窗口可以被整个移到另一个位置,消失,再出现,而不影响原来在屏幕上显示的信息。这被称为弹出式窗口设计 int gettext(int left, int top, int righr ,int bottom ,void *buf) 将屏幕上指定矩形区域内容的文本信息存入指针 buf 指向的内存空间,内存块的字节大小为“行数*列数*2”,其中行数=botton -top +1, 列数= righr -left +1。存储时,在相邻的两个字节中,前一个字节存放字符,后一个字节存放这个字节的屏幕属性。 移动文本窗口 int puttext (int left, int top , in
显示全部
相似文档