Turbo C具有丰富的图形功能,在用其编写各种应用程序和菜单时 ,常常需要将光标定位输入数据和显示立体字型,而Turbo C本身又没 有直接提供可以使用的函数,往往使用户编程显得非常困难。为此, 笔者用Turbo C编写了locate()和listltz()两个函数,在IBM PC /XT、386、486等微机上通过,供读者参考。 1、光标定位输入数据 locate(int row,int col)/*row为定位的行号,col为列号 */ { union REGS r; r.h.bh=0; r.h.ah=0x02; r.h.dh=row; r.h.dl=col; int86(0X10,&r,&r); /*调汇编10号中断的2号子功能光标定位*/ } 读者只要调用以上函数和scanf()函数,就可方便地解决在图形 方式下在任意位置输入数据这一难题。例如:locate(8,10);sca nf(”%4d”,&year);就可在第8行第10列输入一个年份。 2、巧做立体字型 在Turbo C语言图形方式下,想把字符显示在屏幕上,可以用它自 己提供的outtext( )及outtextxy( )函数。字型大小可用settex tstyle( )函数来设定,但它没有提供立体字型函数功能。而编程时 利用立体字型往往更能增强视觉的美感。这个问题乍看上去很难,其 实只要利用以上三个函数和调配好显示颜色,再略施“小计”,便可 达到你满意的效果。请看下例: void listltz( ) { settextstyle(TRIPLEX-FONT,HORIZ-DIR,4); /*设置以三倍笔划字型、从左向右、放大4倍的显示类型*/ setcolor(DARKGRAY); outtextxy(12,12,”GOOD”); /*在12行12列深灰色显示“GOOD”作为背景*/ setcolor(WHITE); outtextxy(10,10,”GOOD”); setcolor(LIGHTGRAY); outtextxy(11,11,”GOOD”);*/在11行11列浅灰色显示背 景*/ { 以上函数便可显示出一个凸形立体字型“GOOD”字符。 □湖北 王凌云