微信公众号 
图码生活

每天发布有五花八门的文章,各种有趣的知识等,期待您的订阅与参与
电脑报 1992-2001 十年文章全集
电脑报 1992-2001 十年文章全集
包含从 1992 年 - 2001 年间,两万余篇期刊文章,查询最少输入两个字符
随便看看
读取中
读取中
标题建立自己的工具箱
栏目软件操作与技巧
发布1994-10-14
  [模块1]画一立体彩色窗口(文本方式)
  draw_3win(int x1,int y1,int x2,int y2,int bk_clolor,int for_color)
  {
  textbackground(bk_color);
  window(x1,y1,x2,y2);
  clrscr();
  textbackground(fo_color);
  window(x1-1,y1-1,x2-1,y2-1);
  clrscr();
  }
  [模块2]给文本窗口画一个彩色双线边框
  draw_frame(int x1,int y1,int x2,int y2,int color)
  {
  int i;
  textcolor(color);
  gotoxy(x1,y1);putch(0xc9);
  for(i=1;i<x2;i++) putch(0xcd);
  putch(0xbb);
  for(i=y1+1;i<y2;i++){
  gotoxy(x1,i);
  putch(0xba);
  gotoxy(x2+x1,i);
  putch(0xba);
  }
  gotoxy(x1,y2);
  putch(0xc8);
  for(i=1;i<x2;i++) putch(0xcd);
  putch(0xbc);
  }
  [模块3]通过BIOS强制移动光标
  static union REGS rg;
  move_xy(int x,int y)
  {
  rg.x.ax=0x200;
  rg.x.bx=0;
  rg.x.dx=((y<<8)&0xff00)+x;
  int86(0x10,&rg,&rg);
  }
  [模块4]通过BIOS返回光标位置
  where_xy(int *x,int *y)
  {
  rg.x.ax=0x300;
  rg.x.bx=0;
  int86(0x10,&rg,&rg);
  *x=rg.h.d1;*y=rg.h.dh;
  }
  上面各模块均在Turbo C/C++上使用,稍加修改即可移植到其它系统。