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