日历

2008 7.25 Fri
  12345
6789101112
13141516171819
20212223242526
2728293031  
«» 2008 - 7 «»

日志分类

文章搜索

日志文章

2007年09月13日 16:59:10

Turbo C图形方式下编程小技巧

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( )函数来设定,但它没有提供立体字型函数功能?而编程时
利用立体字型往往更能增强视觉的美感?这个问题乍看上去很难,其
实只要利用以上三个函数和调配好显示颜色,再略?quot;小计",便可
达到你满意的效果?请看下例:
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"字符?

类别: 无分类 |  评论(1) |  浏览(1897) |  收藏
一共有 1 条评论
1楼 三笑数码科技--电脑扩展主机Ne.. 2007年09月14日 14:42:24 Says:
写的不错,到此一游
发表评论