C++ 鼠标点击的获取


C++鼠标点击

首先一个比较常用的宏定义如下:

#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0) 

使用KEY_DOWN(鼠标事件),可以方便获取很多鼠标的事件。

鼠标各个按键的点击

如果获取左键的点击,可以使用如下的代码:KEY_DOWN(MOUSE_MOVED)
如果获取滚轮的点击,可以使用如下的代码:KEY_DOWN(MOUSE_WHEELED)
如果获取右键的点击,可以使用如下的代码:KEY_DOWN(MOUSE_EVENT)

以上的值均返回true或false。

示例程序

#include<stdlib.h>
#include<windows.h>
#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0) 

using namespace std;
int main(){
	int n=0;
	for(;;){
		if(KEY_DOWN(MOUSE_MOVED)){
			system("color 97");
		}
		else if(KEY_DOWN(MOUSE_EVENT)){
			system("color A7");
		}
		else if(KEY_DOWN(MOUSE_WHEELED)){
			system("color 17");
		}
		else{
			system("color 07");
		}
		

	}
	return 0;
}

我们尝试编译并运行如上的程序。
一开始打开时,运行结果如下:

当按下左键时,通过system的命令,把控制台变为蓝色。

按下右键时的效果:

按下滚轮键的效果:

本文仅在博客园发布,认准原文地址:https://www.cnblogs.com/jisuanjizhishizatan/p/15429591.html


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM