Linux中国  设为主页
 收藏本站
 
当前位置: > 首页 ->编程语言 ->C/C++ ->C语言图形模式编程,个性鼠标
  相关分类: 
ASP
ViualBasic
UML / Rational Rose
PHP4/PHP5
Perl
JAVA/JSP教程
Delphi
ColdFusion
CGI
C/C++
ASP.NET
XML
  站内搜索: 
热门文章排行
热门文章排行 C语言教程第十章:文件 (04-12)
C语言版学生管理系统,作者:没牙的(04-12)
C语言教程第二章: 数据类型、运(04-12)
C语言教程第六章:指针 (04-12)
C语言教程第一章: C语言概论 (04-12)
精采文章排行
精采文章排行 C语言教程第一章: C语言概论 (04-12)
C语言教程第二章: 数据类型、运(04-12)
C语言教程第三章: C语言程序设(04-12)
C语言教程第五章:函数 (04-12)
C语言教程第四章: 数组 (04-12)
  ·C语言教程第二章: 数据类型、运算符·C语言教程第三章: C语言程序设计初·C语言教程第五章:函数 ·C语言教程第四章: 数组 ·C语言教程第六章:指针 ·C语言教程第十章:文件 ·C语言教程第七章:结构与联合 ·C语言教程第八章:枚举,位运算 ·C语言教程第九章:预处理

C语言图形模式编程,个性鼠标

作者:   来源:   点击:   日期:2007-04-12 [收藏] [投稿]

  IE是否经常中毒?推荐您

原帖及讨论:http://bbs.bc-cn.net/dispbbs.asp?boardid=5&id=124611

/***********************************************************************
                ╭═══════════════╮
                ║                              ║
  ╭══════┤            清清凉            ├══════╮
  ║            ║                              ║            ║
  ║            ╰═══════════════╯            ║
 ║                                                          ║
 ║                                                          ║
 ║ 声明:本程序由清清凉修改整理                            ║
  ║  说明:                                                  ║
  ║                                                          ║
  ║      C语言交流群:31545052 (唯C联盟)                     ║
  ║      计算机编程交流群:31544991                          ║
 ║      本人QQ:527274766                                   ║
  ║                                多多交流,共同进步!      ║
  ║                                   —— 0501xql           ║
  ║                                                          ║
  ║    ╭───────────────────────╮    ║
  ╰══┤       E-mail:0501xql@163.com                ├══╯
        ╰───────────────────────╯
***********************************************************************/


   /* -----  C语言图形模式编程,个性鼠标。 -----*/

int Msinit()
{   /* 初始化鼠标*/
    int recored;

    regs.x.ax=0;
    int86(0x33,&regs,&regs);
    recored=regs.x.ax;
    if(recored==0)
    {   printf("Mouse not found !\n");
        getch();return 0;
    }
    regs.x.ax = 1;  /* 显示鼠标*/
    int86(0x33,&regs,&regs);
    return recored;
}

void MskindMath()    /*计算鼠标的样子*/
{   /*Point hotspot[]={{0,11},{0,0},{4,0},{4,0}};热点*/
    int    i,j,jj,k;
    int    full,kind;
    long   UpNum[2][16] = {/*  hand */
        0xf3ff,0xe1ff,0xe1ff,0xe1ff,
        0xe001,0xe000,0xe000,0xe000,
        0x8000,0x0000,0x0000,0x0000,
        0x0000,0x0000,0x8001,0xc003,

        0x3fff,0x1fff,0x0fff,0x07ff,/*  arrow箭头 */
        0x03ff,0x01ff,0x00ff,0x007f,
        0x003f,0x00ff,0x01ff,0x10ff,
        0x30ff,0xf87f,0xf87f,0xfc3f,
    };
    long   DownNum[2][16]={/*  hand */
        0x0c00,0x1200,0x1200,0x1200,
        0x13fe,0x1249,0x1249,0x1249,
        0x7249,0x9001,0x9001,0x9001,
        0x8001,0x8001,0x4002,0x3ffc,

        0x0000,0x4000,0x6000,0x7000,/*  arrow箭头 */
        0x7800,0x7c00,0x7e00,0x7f00,
        0x7f80,0x7e00,0x7c00,0x4600,
        0x0600,0x0300,0x0300,0x0180,
    };
    kind = (Mskind>>1)%2;  /* 手形还是箭头*/
    full = Mskind%2;       /* 是否空心*/

    for(i=0;i<16;i++)
    {
         j=jj=15;
         while(UpNum[kind][i]!=0)
         {
             up[i][j]=UpNum[kind][i]%2;
             j--;
             UpNum[kind][i]/=2;
         }
         while(DownNum[kind][i]!=0)
         {
             down[i][jj--]=DownNum[kind][i]%2;
             DownNum[kind][i]/=2;
         }
         for(k=j ;k>=0;k--)  up  [i][k]=0;
         for(k=jj;k>=0;k--)  down[i][k]=0;
         for(k=0;k<16;k++)
         {   /*四种组合方式*/
             if(up[i][k]==0&&down[i][k]==0)
             {   /* 是否为空心*/
                 if(full) mouse_draw[i][k]=1;
                 else     mouse_draw[i][k]=2;
             }

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<

上一页12 3 4 5 下一页

上一篇:C语言优化双色球自选程序的小技巧   下一篇:阶乘计算器改进版
文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论

   相关文章:
·C语言教程第一章: C语言概论

   文章评论:(1条)
  
 请留名: 匿名评论   点击查看所有评论 论坛讨论
 

 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。