Aween

向.NET进发

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
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”字符。 
□湖北 王凌云 

posted on 2006-03-02 21:47  Aween's Blog  阅读(342)  评论(0编辑  收藏  举报