用户界面程序设计相关知识
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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的运行结果