Easyx中鼠标的使用。
Posted Harris-H
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Easyx中鼠标的使用。相关的知识,希望对你有一定的参考价值。
Easyx中鼠标的使用。
1.MOUSEMSG
鼠标结构体.
// 鼠标消息
// 支持如下消息:
WM_MOUSEMOVE 鼠标移动
WM_MOUSEWHEEL 鼠标滚轮拨动
WM_LBUTTONDOWN 左键按下
WM_LBUTTONUP 左键弹起
WM_LBUTTONDBLCLK 左键双击
WM_MBUTTONDOWN 中键按下
WM_MBUTTONUP 中键弹起
WM_MBUTTONDBLCLK 中键双击
WM_RBUTTONDOWN 右键按下
WM_RBUTTONUP 右键弹起
WM_RBUTTONDBLCLK 右键双击
struct MOUSEMSG
UINT uMsg; 当前鼠标消息
bool mkCtrl; Ctrl 键是否按下
bool mkShift; Shift 键是否按下
bool mkLButton; 鼠标左键是否按下
bool mkMButton; 鼠标中键是否按下
bool mkRButton; 鼠标右键是否按下
short x; 当前鼠标 x 坐标
short y; 当前鼠标 y 坐标
short wheel; 鼠标滚轮滚动值 (120 的倍数)
;
bool MouseHit(); 检查是否存在鼠标消息
MOUSEMSG GetMouseMsg(); 获取一个鼠标消息。如果没有,就等待
void FlushMouseMsgBuffer(); 清空鼠标消息缓冲区
实例:用鼠标左键实现相应功能。
#undef UNICODE
#include <graphics.h>
#include <conio.h>
#include<stdio.h>
int main()
MOUSEMSG m;
// 初始化绘图窗口
initgraph(640, 480);
// 设置背景色为白色
setbkcolor(WHITE);
// 用背景色清空屏幕
cleardevice();
setfillcolor(RED);
fillrectangle(100, 100, 300, 150);
settextstyle(15, 0, "微软黑体");
setbkmode(TRANSPARENT);
outtextxy(150, 120, "Hello,World!");
while (1)
m = GetMouseMsg();
if (m.x >= 100 && m.x <= 300 && m.y >= 100 && m.y <= 150)
setlinecolor(BLUE);
rectangle(90, 95, 310, 160);
if (m.uMsg == WM_LBUTTONDOWN) //如果按下鼠标左键实现相应功能.
closegraph();
printf("HHHHHHHHHHHHHHHH\\n");
break;
else //当鼠标不在目标位置就覆盖之前的蓝色边框.
setlinecolor(WHITE);
rectangle(90, 95, 310, 160);
// 按任意键退出
_getch();
closegraph();//关闭窗口
以上是关于Easyx中鼠标的使用。的主要内容,如果未能解决你的问题,请参考以下文章
total commander 不能重命名以黑体显示的文件?
[rrt_algorithm03]基于easyX的交互界面实现
[rrt_algorithm04]基于easyX的任意障碍物绘制