C++ EasyX学习之鼠标操作详解

 更新时间:2022年07月07日 14:25:25   作者:代码骑士  
EasyX是针对C/C++的图形库,可以帮助使用C/C++语言的程序员快速上手图形和游戏编程。本文将为大家详细讲讲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;
}

输出:

进阶编程

1.jpg:

2.jpg:

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

#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;
}

输出:

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

以上就是C++ EasyX学习之鼠标操作详解的详细内容,更多关于C++ EasyX鼠标操作的资料请关注脚本之家其它相关文章!

相关文章

  • C语言实现任何文件的加密解密功能

    C语言实现任何文件的加密解密功能

    这篇文章主要为大家详细介绍了C语言实现任何文件的加密解密功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • C++的输入与输出和格式化输出

    C++的输入与输出和格式化输出

    这篇文章主要介绍了详解C++中的输入与输出和格式化输出,是C++入门学习中的基础知识,需要的朋友可以参考,希望能够给你带来帮助
    2021-11-11
  • c语言中使用BF-KMP算法实例

    c语言中使用BF-KMP算法实例

    这篇文章主要介绍了c语言中使用BF-KMP算法,大家参考使用
    2013-11-11
  • C++多线程中的锁和条件变量使用教程

    C++多线程中的锁和条件变量使用教程

    这篇文章主要介绍了C++多线程中的锁和条件变量使用,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-11-11
  • C++中菱形继承的解释与处理详解

    C++中菱形继承的解释与处理详解

    菱形继承是多重继承中跑不掉的,Java拿掉了多重继承,辅之以接口。C++中虽然没有明确说明接口这种东西,但是只有纯虚函数的类可以看作Java中的接口,下面这篇文章主要给大家介绍了关于C++中菱形继承的解释与处理的相关资料,需要的朋友可以参考下
    2022-02-02
  • c++ 获取数字字符串的子串数值性能示例分析

    c++ 获取数字字符串的子串数值性能示例分析

    这篇文章主要为大家介绍了c++ 获取数字字符串的子串数值示例分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • 在vs2017上配置AppGameKit库的图文教程

    在vs2017上配置AppGameKit库的图文教程

    这篇文章主要介绍了在vs2017上配置AppGameKit库的教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • c语言求阶乘精确值示例

    c语言求阶乘精确值示例

    这篇文章主要介绍了c语言求阶乘精确值示例,需要的朋友可以参考下
    2014-03-03
  • C语言超详细讲解循环与分支语句基础

    C语言超详细讲解循环与分支语句基础

    各位小伙伴们,今天给大家带来的是循环与分支语句,本篇将会向大家介绍这些语句的格式和使用的基本方法,感兴趣的朋友来看看吧
    2022-04-04
  • Visual Studio调试C/C++教程指南

    Visual Studio调试C/C++教程指南

    VisualStudio是微软开发的一款集成开发环境软件,本文主要介绍了Visual Studio调试C/C++教程指南,熟悉地掌握基于VS的C/C++调试技术,可以大幅提升调试性能,感兴趣的可以了解一下
    2024-06-06

最新评论