(EasyX入门与实战)第九章 鼠标操作

这篇具有很好参考价值的文章主要介绍了(EasyX入门与实战)第九章 鼠标操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

(EasyX入门与实战)第九章 鼠标操作 基础代码:

        功能:移动画点,左键画方块,右键退出。 

#include <graphics.h>
#include <conio.h>

int main()
{
	// 初始化图形窗口
	initgraph(640, 480);

	MOUSEMSG m;		// 定义鼠标消息

	while (true) {
		ExMessage m;//定义一个消息变量
		m = getmessage(EM_MOUSE);//获取鼠标消息
		switch (m.message)
		{
		case WM_MOUSEMOVE:
			// 鼠标移动的时候画红色的小点
			putpixel(m.x, m.y, RED);
			break;

		case WM_LBUTTONDOWN:
			// 画一个小方块
			rectangle(m.x - 5, m.y - 5, m.x + 5, m.y + 5);
			break;

		case WM_RBUTTONUP:
			return 0;	// 按鼠标右键退出程序
		}
	}

	// 关闭图形窗口
	closegraph();
	return 0;
}

输出:

(EasyX入门与实战)第九章 鼠标操作

 文章来源地址https://www.toymoban.com/news/detail-511519.html

进阶编程:

1.jpg:

(EasyX入门与实战)第九章 鼠标操作

2.jpg:

(EasyX入门与实战)第九章 鼠标操作

        给鼠标添加标志,按键做出响应。

#include <graphics.h>
#include <conio.h>

int main()
{
	//定义图片变量
	IMAGE move,click;
	// 定义鼠标消息
	MOUSEMSG m;
	// 初始化图形窗口
	initgraph(640, 480);
	int w = 50, h = 50;
	loadimage(&move, _T("1.jpg"), w, h);
	loadimage(&click, _T("2.jpg"), w, h);

	while (true) {
		ExMessage m;//定义一个消息变量
		m = getmessage(EM_MOUSE);//获取鼠标消息
		switch (m.message)
		{
		case WM_MOUSEMOVE:
			// 鼠标移动
			cleardevice();
			putimage(m.x-w/2, m.y-h/2, &move);
			break;

		case WM_LBUTTONDOWN:
			// 鼠标点击
			cleardevice();
			putimage(m.x - w / 2, m.y - h / 2, &click);
			break;

		case WM_RBUTTONUP:
			return 0;	// 按鼠标右键退出程序
		}
	}

	// 关闭图形窗口
	closegraph();
	return 0;
}

输出:

        小鸟会根跟随鼠标的位置移动。

(EasyX入门与实战)第九章 鼠标操作

 

到了这里,关于(EasyX入门与实战)第九章 鼠标操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C++从入门到精通 第九章(继承和多态)【下】

    (1)一个面向对象的系统常常要求一组具有相同基本语义的方法能在同一接口下为不同的对象服务,这就是多态性。 (2)在C++中,多态性可分为编译时的多态性(静态多态)和运行时的多态性(动态多态),编译时的多态性是通过函数重载和模板体现的,运行时的多态性是

    2024年02月21日
    浏览(45)
  • WPF入门到跪下 第九章 MVVM-基本数据处理

    MVVM是Model-View-ViewModel的缩写。mvvm是一种设计思想。Model 层代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑;View 代表UI 组件,它负责将数据模型转化成UI展现出来,ViewModel是一个同步View和Model的对象。 在MVVM架构下,View和Model之间没有直接的联系,它们通过Vie

    2024年01月21日
    浏览(48)
  • 小黑子—Java从入门到入土过程:第九章-IO流

    IO流:存储和读取数据的解决方案 比如: 在玩游戏的时候,游戏进度的数据是保存在内存当中的 内存中的数据特点就是不能永久化的存储程序,程序停止,数据丢失 这时就需要添加一个存档功能,在存储的过程当中就是把数据保存到文件当中 想实现以上: 要知道文件在哪

    2024年02月04日
    浏览(40)
  • 《HeadFirst设计模式(第二版)》第九章代码——组合模式

    上一章链接: 《HeadFirst设计模式(第二版)》第九章代码——迭代器模式_轩下小酌的博客-CSDN博客         前面说到,当一个菜单里面出现了子菜单的时候,前面的迭代器模式得换成组合模式。 组合模式:         允许将对象组合成树形结构来表现部分-整体层次结构。组

    2024年02月12日
    浏览(45)
  • Python基础教程:第九章_Python异常模块与包

    从现在开始,让我们来进入到新的章节, Python 异常模块与包的内容学习。本章节我们主要分为 6 部分进行讲解,包含了 Python 异常的相关操作以及 Python 的模块操作, Python 的包操作和安装第三方 Python 包的相关操作。 学习目标 了解异常的概念 什么是异常 当检测到一个错误

    2024年02月07日
    浏览(102)
  • 计算机组成原理 | 第九章:控制单元的功能 | 微操作命令 | 时钟周期

    假设完成一条指令分为4个工作周期:取指周期、间址周期、执行周期、中断周期 ①现行指令地址送至存储器地址寄存器,记作 PC → MAR ②向主存发送 读命令 ,启动主存做读操作,记作 1 → R ③将MAR(通过地址总线)所指的主存单元中的内容( 指令 )经数据总线读至MDR内,

    2024年02月13日
    浏览(54)
  • 尝试用easyx窗口实现鼠标的操作

      (创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 首先就是常规引用头文件 #includestdio.h #includegraphics.h  接着就是设置窗口的大小 initgraph(1000, 640, SHOWCONSOLE);//创建一个窗口 setbkcolor(WHITE);//设置窗口颜色 cleardevice();//刷新一

    2024年02月09日
    浏览(64)
  • 《HeadFirst设计模式(第二版)》第九章代码——迭代器模式

            一家早餐店和一家午餐点准备合并在一起,两家的点菜的菜单实现方式如下:         首先,他们的菜单选项都基于同一个类: 菜单选项类 早餐店初始菜单 午餐店初始菜单: 可以得知:前者使用List来实现,后者使用数组来实现。 这时候,如果不采取任何方法加以

    2024年02月12日
    浏览(40)
  • 代码随想录 day38 第九章 动态规划part01

    ●  理论基础 ●  509. 斐波那契数 ●  70. 爬楼梯 ●  746. 使用最小花费爬楼梯 理论基础 解决动态规划必须要想清楚的点 dp数组以及下标的含义 递推公式 dp数组如何初始化 遍历顺序 打印数组 检查结果 关联 leetcode 509. 斐波那契数 思路 动规五部曲 dp数组以及下标的含义

    2024年04月17日
    浏览(50)
  • EasyX 创建输入框,支持多行,中文输入,鼠标操作。

    自绘输入框的方法就不说了,这里介绍一下 hieasyx,一个基于 EasyX 的扩展库,这个库的 github 链接是: https://github.com/zouhuidong/HiEasyX HiEasyX 支持创建多绘图窗口,拥有相对完善的控件库,支持透明通道,封装了画布、图层和场景。 这个库把 Win32 控件封装了起来,可以很方便地

    2024年02月11日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包