用户界面程序设计相关知识

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用户界面程序设计

对于程序员来说,用户界面不过是一些程序代码;可是对于程序的用户来说,用户界面却是能有效地使用程序的途径.

一、字符的显示处理

1.字符的定位

(1) 字符坐标

在文本窗口中,字符按照行、列显示.一个窗口分为若干行(如25、43、50行),一行可以显示若干字符(称为列,如80列).于是,就形成一上以字符为单位的二维坐标空间:行为X轴,列为Y轴;窗口的左上角为(1,1).

(2) 字符定位函数

使用字符定位函数,可以在窗口的任何位置显示字符。有关函数有:

● 指定一个显示字符的位置(设定光标位置),使用函数void gotoxy(int x,int y);.

● 返回一个字符的坐标位置,使用函数int wherex();和int clrscr();.

● 清除文本窗口,把光标位置移到窗口左上角,使用函数void clrscr();.

这些函数的说明都在头文件conio.h中。

例1 字符输出的定位实例。

#include “conio.h”

#include “stdio.h”

#include “bios.h” /*含bioskey说明*/

int main()

{

int x,y;

clrscr(); /*清屏*/

x = wherex(); y=wherey(); /*返回当前光标位置*/

printf(“\n清屏后的光标:x=%d,y=%d”,x,y); /*输出坐标值*/

gotoxy(33,15) /*移动光标到(33,15)*/

printf(“Hello!”); /*在光标处输出*/ x=wherex(); y=wherey(); /*返回当前光标位置*/

gotoxy(22,10); /*移动光标到(22,10)*/ “printf(“显示Hello的坐标:x=%d,y=%d”,x,y); /*输出坐标值*/ while(bisoskey(1)==0); /*等待键盘输入*/ clrscr(); /*清屏*/ return(0);

}

2.字符的属性

字符的属性有一个8位的二进制字符控制。这个控制字的格式为:

表6.2为字符颜色的定义。

字符及其背景的颜色可以用下面的两个函数设置:

void textcolor(int newcolor); /*设置字符颜色:0~15 */

void textbackground(int newcolor); /*设置背景色:0~7 */

这两个函数的说明也在conio.h中。

3.字符屏幕输出函数

Turbo C提供与标准输出函数基本相同的3个文本窗口输出函数:

cprintf(“格式字符串“,输出项表);/*输出格式化数据到屏幕*/

cputs(“字符串”);/*输出字符串到屏幕*/

getche(); /*从键盘获得一个字符并回显*/

这3个函数的说明也在conio.h中。

例2 字符输出函数的使用实例。

#include”conio.h”

int main(()

{

clrscr();

gotoxy(15,10);

textcolor(BLUE); /*设置背景为蓝色*/ textblackground(YELLOW); /*设置背景为黄色*/ cprintf(“Hello!”); /*显示”Hello!” */

getch();

gotoxy(16,11);

textcolor(RED+BLINK); /*设置字符为闪烁红色*/ textblackground(GREEN); /*设置背景为绿色*/ cprintf(“Turbo C”);

textmode(LASTMODE); /*恢复前一个文本模式*/ crlscr(); /*清屏*/ return(0);

}

二、简单文本窗口设计

1.window 函数

前面使用的窗口是系统提供的。Turbo C还提供了用户设计窗口的函数:void window(int left,int top,int tight,int bottom);

其中,各部分含义如下.

∙left,top:窗口左上角坐标;

∙right,bottom:窗口右下角坐标.

例3 window函数应用实例.

#include"conio.h"

int main()

{

clrscr();

/*设置窗口左上角为(25,10),右下角为(50,20) */

window(25,10,50,20);

textcolor(BLUE);

textbackground(YELLOW);

clrscr(); /*在新窗口中清屏 */

cprintf("Hello!"); /*在新窗口左上角显示"Hello!" */ gotoxy(16,5); /*光标移到新窗口中的(16,5)位置 */

textcolor(RED+BLINK);

textbackground(GREEN);

cprintf("Turbo C"); /*在新窗口左上角显示"Turbu C" */

window(1,1,80,25); /*恢复系统的窗口*/

cprintf("END");/*在窗口左上角显示"END"*/

return(0);

}

程序运行结果如图6.3所示.

图6.3 例6.3的运行结果

相关文档
最新文档