Visual C++鼠标画线操作
跟随鼠标轨迹划线
//编译环境:Visual C++ 6.0,EasyX_20190219(beta)
#include<stdio.h>
#include<graphics.h>
#include<conio.h>void pen(){int x0, y0; MOUSEMSG m; // 定义鼠标消息while (true){flag: //重置开始m = GetMouseMsg();// 获取一次鼠标消息switch (m.uMsg){case WM_LBUTTONDOWN:x0 = m.x; y0 = m.y; //鼠标第一次按下时,得到坐标(x0,y0)while (true){m = GetMouseMsg();// 获取一条鼠标消息line(x0, y0, m.x, m.y);x0 = m.x; y0 = m.y;switch (m.uMsg){case WM_LBUTTONUP:goto flag; //跳回到flag处进行重置break; }}break; }}}
void main()
{ initgraph(640, 480); setcolor(YELLOW);MOUSEMSG m; while(true){pen();}
}
效果演示如下:(想怎么画就怎么画,是不是很自由!)
鼠标点击两点画直线
//编译环境:Visual C++ 6.0,EasyX_20190219(beta)
#include <stdio.h>
#include <graphics.h>
void twopiont();
void main()
{ initgraph(640, 480); //初始化图形界面,窗口分辨率设置为640*480MOUSEMSG p; //定义一个鼠标的结构体 setcolor(YELLOW);//鼠标按下则开始运行函数while (true){p = GetMouseMsg(); if (p.uMsg == WM_LBUTTONDOWN) twopiont();}}
/*实现在两点之间画一条直线*/void twopiont()
{int x0, y0, x1, y1;MOUSEMSG m; // 定义结构体保存鼠标消息while (true){flag: //重置开始m = GetMouseMsg();// 获取一次鼠标消息switch (m.uMsg)//判断鼠标信息类型{case WM_LBUTTONDOWN:x0 = m.x; y0 = m.y; //鼠标第一次按下时,获取鼠标当前坐标(x0,y0)circle(x0,y0,1);while (true){m = GetMouseMsg();// 再次获取一条鼠标消息switch (m.uMsg){case WM_LBUTTONDOWN:x1 = m.x; y1 = m.y;//鼠标第二次按下时,得到坐标(x1,y1)line(x0, y0, x1, y1);circle(x1,y1,1);//return;goto flag; //跳回到flag处进行重置}}}}
}
效果演示如下:
Visual C++鼠标画线操作相关推荐
- 使用CGContext画线操作小记
[原文地址: http://blog.sina.com.cn/s/blog_530ccbe20101brxi.html] 使用CGContext画线操作小记 0 CGContextRef contex ...
- 使用WPF与C#实现鼠标画线
鼠标点的读取 首先需要在WPF中的前端页面获取对鼠标的操作 在一个布局里(Grid)新建关于鼠标的相关"事件" //相关事件MouseEnter="grid_MouseE ...
- VTK 鼠标画线(点移动线可同步更新)
鼠标交互事件:点两个点形成一条线 通过鼠标点两个点,同时标记这两个点,形成一条线.(只有一条线,并不是每次点两个点都会新出现一条线) 这个版本是个初级版本,(后面我也实现了任意拖动一个点,直线会相应发 ...
- Matlab GUI鼠标画线
(代码: 1\UI_line.m) % 窗体打开前,先执行该函数 function UI_line_OpeningFcn(hObject, eventdata, handles, varargin)h ...
- 【Unity技术积累】实现鼠标画线功能 LineRenderer
using System.Collections; using System.Collections.Generic; using UnityEngine;public class Painting ...
- C++MFC最简易画板-移动鼠标画线
命名文件为LINE,在LINEView.cpp中打开类向导添加一个CPoint类型的变量mPrevPoint,用于存储按下鼠标左键时上一个位置的点. 同样在LINEView.cpp的类向导中,找到WM ...
- VC++ 绘制线条 OnLButtonDown函数(DrawView.cpp) 利用SDK全局函数实现画线功能 利用MFC的CDC类实现画线功能 利用MFC的CClientDC类实现画线功能
目录 绘制线条 OnLButtonDown函数(DrawView.cpp) 利用SDK全局函数实现画线功能 利用MFC的CDC类实现画线功能 利用MFC的CClientDC类实现画线功能 接上:VC+ ...
- VC++ 利用MFC的CWindowDC类实现画线功能 在桌面窗口中画线 绘制彩色线条 CPen nPenStyle nWidth crColor
目录 利用MFC的CWindowDC类实现画线功能 在桌面窗口中画线 绘制彩色线条 CPen nPenStyle nWidth crColor 接上:VC++ 绘制线条 OnLButtonDown函数 ...
- 海思3559万能平台:VGS的画线处理
前言 海思的OSD功能除了之前提到的第三方库,自己的VGS也可以做到一些简单的诸如画线之类的操作,这里介绍下假如类似识别时需要画矩形框的时候可以的一种做法 海思VGS简介 海思的VGS 是视频 ...
- TapTap物理画线游戏,使用Unity实现2D物理画线功能
实现效果如下: 本工程已上传到GitHub,感兴趣的同学可自行下载学习. GitHub地址:https://github.com/linxinfa/UnityPhysicsDrawLine 物理画线的 ...
最新文章
- 中key的用途_Micro Focus Operations Bridge Manager中的多个(RCE)漏洞
- ****CI框架源码阅读笔记7 配置管理组件 Config.php
- The CLR’s Execution Model(Chapter 1 of CLR via C#)
- 扩容是元素还是数组_数组是如何随机访问元素?数组下标为什么从0开始,而不是1?...
- BZOJ4245 [ONTAK2015]OR-XOR 【贪心】
- Dx11DemoBase 基类(二) 初始化 DirectX11 的 4个基本步骤
- YOLO Object Detection with OpenCV
- python json.dumps参数_json.dumps参数之解
- Visual C++串口通信编程---多线程异步方式
- 地图转换|用arcgis 将cad转kmz
- esp8266教程:定时器之原理基础
- 第八届泰迪杯数据挖掘赛C题总结
- 计算机电缆国家标准是什么,计算机电缆执行标准是什么
- sop4封装尺寸图_扇出型面板级封装技术的演进
- AtCoder Beginner Contest 171 D - Replacing
- Sekiro(只狼)
- 配置SDN网关:关于VRF、本地路由及inet-vpn路由
- #Python3中检测字符串是否只由大写英文字母或者数字组成issupper()
- [625]Git +TortoiseGit安装配置详细步骤
- 【软件设计模式】常用的设计模式的介绍
热门文章
- 服务器宕机监控、检测、报警程序(139绑定手机短信报警)monitor_down.sh
- Mac 解决 Font family [“sans-serif”] not found , Glyph xxx missing from current font 的问题
- ensp VLAN划分
- freenas搭建nas及san网络存储详解
- 九宫格日记-2013年02月23日
- 一级计算机考试试题评分标准,2014计算机一级上机试题(1—5套)评分标准
- java将jfif格式转换成ipg_无需工具直接将jfif格式图片批量修改为jpg格式图片的方法...
- 什么是Smartdrv程序
- threejs 绘制球体_threejs地球仪制作
- 移动硬盘/U盘上装Windows 7旗舰版(VHD版)