EasyX---快速入门---(二)图形处理/鼠标、键盘消息/其他

导图版本

 

  • 图形处理函数(用于在窗口显示图片)
    • 使用图像之前,需要定义一个变量(对象),然后把图片加载进变量才能使用
      • 使用EasyX提供的类型:IMAGE img;
    • loadimage(IMAGE*pDstlmg,LPCTSTR plmgFile,int nWidth=0,int nHeight=0,bool bResize=false);从文件中读取图像
      • pDstlmg
        • 保存图像的IMAGE对象指针
      • plmgFile
        • 图片文件名
          • PS
            • 相对路径:./表示当前文件夹, ../当前文件夹的上一级目录
            • 绝对路径:D:\C++\easyjichu\easyjichu 加双斜杠,含有空格的字符要加\' \"
            • 需要用到的图片要放在.cpp同目录下
            • 例如:loadimage(&img, "D:\\C++\\easyXjichu\\easyXjichu\\672908 (1).jpg",250,250); // loadimage(&img, "./672908 (1).jpg");
      • nWidth=0
        • 图片的拉伸宽度,可自定义,默认为0
      • nHeight=0
        • 图片的拉伸高度,可自定义,默认为0
      • bResize=false
        • 是否调整IMAGE的大小以适应图片
    • putimage(int dstX, int dstY, const IMAGE *pSrcImg, DWORD dwRop = SRCCOPY);在当前设备上绘制指定图像
      • dstX
        • 绘制位置x坐标
      • dstY
        • 绘制位置y坐标
      • pSrcImg
        • 要绘制的IMAGE对象指针
      • dwRop = SRCCOPY
        • 三元光栅操作码
  • 鼠标消息函数(用于获取鼠标的消息)
    • 运用MOUSEMSG类型,如MOUSEMSG msg;
      • 可获取鼠标消息
    • 用MoustHit()判断是否有鼠标消息(左键、右键、中间、移动)
    • 如果有鼠标消息就可以进行接收鼠标消息了msg=GetMouseMsg();
    • 鼠标消息的主要成员
      • uMsg 当前鼠标消息
      • x; y; 当前鼠标x,y坐标
    • uMsg可用来判断当前鼠标消息是什么消息
      • 主要两个消息
        • WM_LBUTTONDOWN
          • 鼠标左键消息
        • WM_RBUTTONDOWN
          • 鼠标右键消息
  • 键盘消息函数(用于获取键盘按键消息)
    • 获取鼠标消息的函数
      • _getch()
        • 需要头文件conio.h
        • 需要返回值来判断
          • 与非ASCII表字符的按键比较,需要使用虚拟键值
            • 上:72
            • 下:80
            • 左:75
            • 右:77
          • 如果是与字母比较直接写字母,比如‘S'
      • _kbhit()
        • 用于判断键盘是否按下
      • GetAsyncKeyState(键值)
        • 需要头文件window.h,但是由于EasyX包含了windows头文件,所以无需自己包含
        • 需要传入一个键值,如果按下返回真
          • 上:VK_UP
          • 下:VK_DOWN
          • 左:VK_LEFT
          • 右:VK_RIGHT
  • 其他函数
    • 处理在设备上不断进行绘图操作而产生的闪屏现象
      • BeginBatchDraw()
      • *绘图代码*
      • EndBatchDraw()
    • 获取窗口句柄,获取用以操作窗口
      • GetHWnd()
        • HWND hnd = GetHWnd()
          • 获得窗口句柄
        • SetWindowText(hnd,"更换的标题“)
          • 修改窗口标题
        • MessageBox(hnd, "对话框内容","对话框标题",MB_OKCANCEL)
          • 设置模拟对话框
    • windowsAPI播放音乐(实现C语言播放音乐)
      • 首先包含windows.h头文件(graphics.h头文件也包含window.h)
      • 还需加载静态库winmm.lib
      • 最后使用mciSendString函数播放音乐
        • 使用方法
          • mciSendString("open ./音乐文件名",NULL,0,NULL
          • mciSendString("play 音乐文件名",NULL,0,NULL)
          • mciSendString("close .音乐文件名", NULL, 0, NULL

在B站学习EasyX做的笔记,欢迎大家讨论、指出不足~~~~

B站教学视频链接:【C/C++/EasyX】学编程,做游戏,小白快速入门图形编程,零基础入门到精通,学习就是这么快乐_哔哩哔哩_bilibili

视频时间不长,很简单的,你上你一定行!

  • 5
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
vc++ KeyMessage 监听键盘按键状态,代码有丰富的注释,一步一步的讲解,程序虽然简单,但通过它了解到的知识有很多,部分代码释义摘录:WinMain:Windows程序的入口函数。    WINAPI :在应用程序回调函数作为一个返回值的样式,当Windows的外壳(Windows9X的资源管理器)侦测到使用者意欲执行一个Windows程序,于是调用加载器把该程序加载,然后调用C startup code,后者再调用WinMain,开始    执行程序。WinMain的四个参数由操作系统传递进来。   创建一个完整的窗口需要经过下面四个操作步骤:    设计一个窗口类;    注册窗口类;    创建窗口;    显示及更新窗口;      窗口的显示类型CS_HREDRAW窗口水平重画,ClassStyle_horizontal(水平的,与地平线平行的) redraw,CS_VREDRAW窗口水平重画ClassStyle_vertical(垂直的,竖的) redraw 如果选择水平重绘和竖直重绘,用鼠标拖动窗口后则文字消失,如果属性设置为NULL,则拖动变换大小文字还照样显示,CreateWindow只产生窗口,并不显示窗口,所以稍后我们必需再利用ShowWindow将他显示在屏幕上,又,我们希望先送一个WM_PAINT给窗口,以驱动窗口的绘图操作,所以调用UpdateWindow,DispatchMessage会将消息传给窗口函数去处理。消息发生之时,操作系统根据当时的状态,为它标明了所属窗口而窗口所属的窗口类又已经明白标识了窗口函数,(也就是wndcls.lpfnWndProc),所以DispatchMessage自有脉络可寻。   窗口的生命枢:窗口函数。窗口函数通常利用switch/case方式判断消息的种类,以决定处置方式,由于它是被Windows系统所调用的,所以这是一种call back 函数,意思是指在你的程序,被Windows系统调用的函数,这些函数虽然是由你设计, 但是永远不会也不该被你调用,他们是为Windows系统准备的…

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

由崎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值