mouse_msg结构体:用于保存鼠标消息

有关其具体声明和成员介绍及其他键盘鼠标输入函数可参阅
https://xege.org/manual/api/input/index.htm

橡皮条技术(以直线为例):

  1. 选择第一个线段端点
  2. 光标移动时从初始化拉出一线段
  3. 线段随光标移动直到选定第二个端点

下面是运用橡皮条技术绘制直线的代码:

#include <graphics.h>
#include <stdio.h>
mouse_msg msg = {0};void line1(void)
{int flag1=0,x0,y0,x1,y1;for ( ; is_run(); delay_fps(350)) {while(mousemsg()){msg=getmouse();}if(msg.is_down() && flag1==0){flag1=1;x0=msg.x;y0=msg.y;x1=x0;y1=y0;}    if(msg.is_move() && flag1==1){            setcolor(BLACK);line(x0,y0,x1,y1);x1=msg.x;y1=msg.y;setcolor(WHITE);line(x0,y0,x1,y1);}       if(msg.is_up() && flag1==1){setcolor(BLACK);line(x0,y0,x1,y1);x1=msg.x;y1=msg.y;setcolor(WHITE);line(x0,y0,x1,y1);  flag1=0;           }       if(msg.is_right()){break;}}
}int main()
{initgraph(1200, 1000);    line1(); closegraph();return 0;
}

使用mouse_msg结构体实现简单图形的橡皮条技术相关推荐

  1. C语言结构体实现简单通讯录管理系统

    效果如图: 代码及详情如下: #include<stdio.h> #include<string.h> #include<stdlib.h>/*通讯录管理 问题描述 ...

  2. c 结构体的简单封装1

    先看C语言的 借助结构体 struct Person{char name[64];int age; }; void PersonEat(struct Person *p) {printf(" ...

  3. 【结构体Struct——简单使用】

    文章目录 结构体 定义结构体 访问结构体成员 结构体指针 结构体作为函数参数 结构体数组 总结 结构体 在C++中,struct是一种自定义的数据类型,用于将不同类型的变量组合在一起,形成一个逻辑上的 ...

  4. 03【C语言 趣味算法】(值得品味的一道题)打鱼还是晒网?结构体的简单应用。函数的应用。判断闰年的应用。求指定日期距1990年1月1日的天数。

    目录 一.指路哦 三.打鱼还是晒网 嘞? 3.1 问题描述 3.2 问题分析 3.3 算法设计 3.4 确定程序框架 3.5 求出指定日期距 1990年1月1日的天数 3.6 完整code 及结果 一 ...

  5. 用C语言中的结构体实现简单的学生成绩管理系统

    #include <stdio.h> #include <stdlib.h> #define N 30 /** 为 struct students定义了一个新的名字 STU 与 ...

  6. 【 C 】结构体 与 typedef

    目录 结构体 定义结构体 访问结构体成员 typedef typedef使用实例 typedef vs #define #define使用实例 结构体 先简单看下结构体的概念与用法: 转载:结构体 C ...

  7. sizeof运算求结构体大小

    首先有几条规则: 1. 结构体的成员相对于结构体的偏移量,是该成员所包含的最大简单类型(指占用内存数)的整数倍(如果该成员本身又是一个结构体,就要递归查找其简单类型,简单类型就是char short ...

  8. 字符串类型、结构体、共用体、枚举、container宏、内存来源

    一.C语言的字符串类型 1.C语言没有原生字符串类型 很多高级语言像java.C#等就有字符串类型,有个String来表示字符串,用法和int这些很像,可以String s1 = "linu ...

  9. 鸿蒙系统深度解析,深度解析鸿蒙内核最重要的结构体

    谁是鸿蒙内核最重要的结构体? 答案一定是:LOS_DL_LIST(双向链表),它长这样. typedef struct LOS_DL_LIST {//双向链表,内核最重要结构体 struct LOS_ ...

最新文章

  1. linux设备驱动第五篇:驱动中的并发与竟态
  2. [翻译]应用程序池和应用程序域的区别
  3. bitmap 转 drawable
  4. Python使用傅里叶变换调整音频文件音量
  5. This is Huge! PhysBAM code is going to be released?
  6. 为什么要对1000000007取模
  7. 9款极具创意的HTML5/CSS3进度条动画
  8. 【数据清洗】异常点的理解与处理方法(1)
  9. jstat命令查看jvm的GC情况 (以Linux为例)
  10. php怎么调用php语言包,thinkphp里怎么调用语言包
  11. golang copy-on-write思想应用
  12. 告别手机自带浏览器,分享2022年好用的手机浏览器
  13. Kerberos认证模型(c语言实现)
  14. Python实现摇骰子效果
  15. python大数据工程师招聘_大数据工程师是做什么的为什么招聘网上薪资都好高啊?...
  16. thread-specific stroage模式 一个线程一个储物柜
  17. Android高德地图点击大头针更换大头针图片
  18. 基于蝴蝶结结构的硅偏振分离器和旋转器的演示
  19. Python(17)python使用tkinter实现一个简单的CSGO幸运转盘抽奖游戏
  20. 直播第三方美颜怎么选择?美颜SDK哪家好?

热门文章

  1. 搞定老外,这些英语句型一定要熟记!
  2. 程序员应该如何解决买菜难问题?手把手带你利用无障碍辅助功能快速下单抢菜
  3. 友播,让人愿意注册和尝试的beta站
  4. MAC-HBuilderX使用微信小程序开发者工具
  5. 金融监管科技业务中的AI应用:上市公司风险识别
  6. 教你查看网页记住的密码
  7. 性能指标【多测师_王sir】
  8. evc++程序的调试经验总结
  9. Javaweb-书城项目
  10. BZOJ P4554 [Tjoi2016Heoi2016]游戏